我有一个非常大的oracle表,它是一个分区表,我会问Sqoop是否或如何支持基于oracle分区的拆分,例如,一个映射器要从一个oracle分区导入。
答案 0 :(得分:1)
Sqoop支持从oracle分区表导入。 Here是文档。
语法是这样的
sqoop import \
-Doraoop.disabled=false \
-Doraoop.import.partitions='"PARTITION-NAME","PARTITION-NAME1","PARTITION-NAME2",' \
--connect jdbc:oracle:thin:@XXX.XXX.XXX.XXX:15XX:SCHEMA_NAME \
--username user \
--password password \
--table SCHEMA.TABLE_NAME \
--target-dir /HDFS/PATH/ \
-m 1
将为每个分区分配一个单独的映射器,同时将数据写入HDFS。
请确保已启用动态分区属性,并且创建Hive表时,分区数属性值也高于oracle中现有的分区。