我有一个非常大的oracle表,它是一个分区表,我会问Sqoop是否或如何支持基于oracle分区进行拆分,例如,一个映射器从一个oracle分区导入。
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中存在的分区。