将表中的特定分区导入hadoop

时间:2016-12-04 10:54:50

标签: oracle hadoop hdfs sqoop

我正在使用sqoop将数据导入hadoop。我使用下面的命令将表导入hadoop。

 sqoop import \
 --connect jdbc:oracle:thin:@172.16.XXX.XXX:15XX:TABS \
 --username user \
 --password pass \
 --table TABS.ADM_LOG0009 \
 --target-dir /hadoop/hptabs/recharge

现在我有另一个名为IVM_IMAGE的表,它是一个分区表。我想只从Oracle导入3个分区到hadoop。请帮我写这个命令。

  • Oracle表名:TABS.IVM_IMAGE
  • 分区:LESS20161101,LESS20161001,LESS20160901
  • 分区键:BILLDATE

  • HIVE表名称:hptabs.IVM_IMAGE

表格属性:

  

分配(BILLDATE TIMESTAMP)行格式删除字段   终止于',' LOCATION' hdfs:/ hadoop / hptabs / usage';

1 个答案:

答案 0 :(得分:1)

要导入特定分区,我需要添加" -Doraoop.import.partitions ='" LESS20161101"," LESS20161001"," LESS20160901&# 34;,'"到我的sqoop命令

sqoop import \
-Doraoop.disabled=false \
-Doraoop.import.partitions='"LESS20161101","LESS20161001","LESS20160901",' \
--connect jdbc:oracle:thin:@172.16.XXX.XXX:15XX:TABS \
--username user \
--password password \
--table TABS.IVM_IMAGE \
--target-dir /hadoop/hptabs/usage/ \
-m 1