首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从其他服务器的ORC文件创建Hive ORC表

从其他服务器的ORC文件创建Hive ORC表
EN

Stack Overflow用户
提问于 2017-03-30 21:52:36
回答 1查看 1.2K关注 0票数 0

我们有两个星系团,一个是地图R,另一个是我们自己的。我们希望使用Map数据在我们自己的硬件中创建新的设置。

  1. 我从Map R集群复制了所有orc文件,并遵循相同的文件夹结构
  2. 创建了一个位置为1的orc格式化表
  3. 然后执行以下命令"MSCK修复表<>“

上面通过的步骤没有出错,但是当我查询分区时,作业会失败,下面是错误。

代码语言:javascript
复制
java.lang.IllegalArgumentException: Buffer size too small. size = 262144 needed = 4958903
    at org.apache.hadoop.hive.ql.io.orc.InStream$CompressedStream.readHeader(InStream.java:193)
    at org.apache.hadoop.hive.ql.io.orc.InStream$CompressedStream.read(InStream.java:238)

有人能告诉我,我们能否直接从ORC文件中创建单元orc分区表?

我的存储器是Azure数据湖。

EN

回答 1

Stack Overflow用户

发布于 2017-03-31 09:52:37

根据您的描述,根据我的理解,我认为您希望将所有orc文件从一个集群复制到另一个集群,并将这些orc文件作为一个单元表加载。

为此,请尝试按照下面的命令创建用于加载orcfile数据的外部表。

代码语言:javascript
复制
CREATE EXTERNAL TABLE IF NOT EXSISTS <table name> (<column_name column_type>, ...)
    ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
    STORED AS ORC 
    LOCATION '<orcfile path>'

如果不知道orc文件的列列表,可以参考Hive手动ORC File Dump Utility通过hive --orcfiledump -j -p <location-of-orc-file-or-directory>以JSON格式打印ORC文件元数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43129022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档