首页 > 解决方案 > sqoop 导入配置单元表错误

问题描述

您好,我尝试将 as400 表插入配置单元表,因此我创建了一个与 as400 表具有相同架构的配置单元表,但我添加了一个已处理的列(时间戳)这是我的配置单元表:

CREATE external TABLE IF NOT EXISTS default.AS400TEST (
One INT,
Two STRING,
..
N   INT             
)
PARTITIONED BY (processedate TIMESTAMP)
STORED AS  TEXTFILE 
location  '/tmp/AS400TEST;

我运行这个 sqoop 命令:

sqoop import --verbose --driver $DRIVER_CLASS --connect $URL --username $LOGIN --password $PASSWORD \
--table $TABLE \
--target-dir $DIR \
-m 1 --hive-import --hive-table default.AS400TEST \
--hive-partition-key "processedate"

我的问题是地图保持在 0% 的时间超过 30 分钟,我就干掉了这份工作。我需要改变什么吗?

另一个问题:如何用sqoop插入列时间戳?

标签: hivesqoop

解决方案


您的表可能很大,一个映射器 ( -m 1) 无法在合理的时间内完成任务。尝试增加此参数(请参阅文档中的详细信息)。

要插入时间戳列,请使用--map-column-hive 'timestamp_column_name=TIMESTAMP'.


推荐阅读