我正在使用Sqoop导入将数据从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

最佳答案

我按如下所示更改了脚本,并且工作正常。

--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 \

关于hadoop - 从Oracle到Sive的Sqoop导入—错误工具。ImportTool:导入失败:导入数据时,没有名称为entity_idfound的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46897184/

10-16 08:31
查看更多