我正在使用Sqoop import将数据从RDBMS(oracle)加载到Hive。没有--map-column-hive选项数据加载时没有任何问题,但数据类型与预期不同。 这是源代码 --map-column-hive'ae_header_id = bigint,application_id = smallint,entity_id = bigint,event_id = bigint,accounting_date = date,gl_transfer_date = timestamp'\
源表和目标表具有相同的列名。
Sqoop版本1.4.6和Hive 2.1
答案 0 :(得分:0)
我改变了下面的脚本并且工作正常。
--query 'SELECT AE_HEADER_ID ,
APPLICATION_ID ,
ENTITY_ID ,
EVENT_ID ,
EVENT_TYPE_CODE ,
ACCOUNTING_DATE ,
GL_TRANSFER_STATUS_CODE ,
GL_TRANSFER_DATE
FROM XXCFI_XLA_AE_HEAD_TEST where $CONDITIONS' --split-by ae_header_id --m 1 \
--hive-import \
--hive-database xxcfi \
--hive-table XXCFI_XLA_AE_HEAD_PQ \
--map-column-hive AE_HEADER_ID=BIGINT,APPLICATION_ID=SMALLINT,ENTITY_ID=BIGINT,EVENT_ID=BIGINT,ACCOUNTING_DATE=TIMESTAMP,GL_TRANSFER_DATE=TIMESTAMP \
答案 1 :(得分:0)
在Sqoop认为它们区分大小写的同时,检查“源”侧的列名称,并相应地更改其名称。