gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:01:30 25 4
gpt4 key购买 nike

我们有2个群集,一个是Map R,另一个是我们自己的。我们希望使用Map R数据在自己的硬件中创建新的设置。

  • 我已经复制了Map R群集中的所有orc文件,并遵循了相同的文件夹结构
  • 创建了Orc格式的表,位置为#1
  • 然后执行此命令“MSCK REPAIR TABLE <>”

  • 以上步骤顺利通过,但当我查询分区时,作业失败并显示以下错误
    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文件创建HIVE ORC分区表吗?

    我的存储是Azure数据湖。

    最佳答案

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

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

    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文件元数据。

    关于azure - 从其他服务器的ORC文件创建Hive ORC表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129022/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com