Hive sqoop导入到配置单元表错误

Hive sqoop导入到配置单元表错误,hive,sqoop,Hive,Sqoop,您好,我尝试将as400表插入配置单元表,所以我创建了一个配置单元表,其模式和as400表相同,但我添加了一个列processedate时间戳 这是我的蜂巢桌: CREATE external TABLE IF NOT EXISTS default.AS400TEST ( One INT, Two STRING, .. N INT ) PARTITIONED BY (processedate TIMESTAMP) STORED AS TEXTFILE locat

您好,我尝试将as400表插入配置单元表,所以我创建了一个配置单元表,其模式和as400表相同,但我添加了一个列processedate时间戳 这是我的蜂巢桌:

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插入列时间戳?

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


要插入时间戳列,请使用-map列配置单元“timestamp\u column\u name=timestamp”。

错误工具。导入工具:导入失败:找不到表的主键。请使用-split by指定一个,或使用“-m 1”执行顺序导入。我在添加-m4Yes时遇到此错误,如文档中所述。如果没有主键,则需要在-split by参数中明确指定将数据拆分为多个独立任务所需的列。最好的选择是非字符串列,这些列的值在其范围内均匀分布。尝试添加,例如,-m 8-除以1-m 4是默认值Thank you@IskuskovAlexander;我使用-hive partition key来表示它是一个时间戳数据类型,我将PARTITIONED BY添加到hive的时间戳中,但我遇到了这个错误,无法将分区列添加到string类型的时间戳中,因为它无法转换为类型timestamp@ZiedHermi我认为您实际上想要按日期值划分来描述特定的年/月/日,例如2018-05-01。