【发布时间】:2019-10-07 23:47:55
【问题描述】:
如何将 Sqoop 从 Oracle 导入压缩表中的 Hive
尝试将 Sqoop 从 Oracle 导入到文本分区表中的 Hive,并且成功了。当尝试在压缩(SNAPPY、ZLIB、BZIP2)表中执行相同操作时,使用 Sqoop 和相应的编解码器压缩数据时,它会创建文件。但是当试图通过 Hive 选择时,我收到错误: 错误:java.io.IOException:java.lang.RuntimeException:ORC 拆分生成失败,异常:org.apache.orc.FileFormatException:格式错误的 ORC 文件 maprfs:///envir.../2019/4/20190416/part- m-00000.snappy。后记无效。 (状态=,代码=0)
测试如下: - 创建表 - 修改 sqoop 选项文件 - 运行 Sqoop - 改变表..添加分区 - 尝试选择,这会导致错误
SQOOP: --删除目标目录 --目标目录 “/环境..3/2019/4/20190416” --压缩编解码器 “org.apache.hadoop.io.compress.BZip2Codec” --hive 表 “...tmp_member3” --hcatalog-存储-节 '存储为 orc tblproperties ("orc.compress"="BZIP2")' --hive-partition-key “'年月日'” --hive-partition-value "'2019','4','20190416'"
蜂巢: CREATE EXTERNAL TABLE xx.tmp_member3 (a STRING,kpi_name STRING, b STRING, c STRING) PARTITIONED BY (YEAR INT,MONTH INT,DAY INT) ROW FORMATDELIMITED FIELDS TERMINATED BY ',' STORED AS ORC LOCATION '/envir../ 2019/4/20190416' TBLPROPERTIES ('orc.compress'='BZIP2');
我已经尝试了“set hive.exec.orc.split.strategy=BI”,但没有成功。
【问题讨论】:
标签: split compression sqoop orc