sqoop进口实木复合地板尺寸

时间:2017-02-03 18:49:16

标签: oracle hadoop sqoop

我的问题是,我有一个500k行的Oracle表。我设置sqoop将其作为镶木地板文件导入HDFS。我将--num-partition参数设置为32,我获得了32个镶木地板文件,但其中一个是28 MB大,其他只有2-3 KB。

这是我的sqoop命令:

bin/sqoop import --connect <JDBC> --username <USER> --password <PASSWD> --table <TABLE> --target-dir <TARGET_DIR> -m32 --as-parquetfile --delete-target-dir --outdir <DIR>

我的问题是,这个文件大小的原因是什么?

2 个答案:

答案 0 :(得分:0)

表示您的数据分布不均匀。

我在命令中没有看到任何--split-by列。因此,假设在主键上完成拆分。拆分基本上是通过同时运行范围查询来完成的。其中一个范围查询是获取最大数据,因此大小为28 MB。

答案 1 :(得分:0)

我建议你根本不拆分sqoop作业,只给“-m 1”。此外,镶木地板文件的500K行不高;镶木地板是一种可拆分的文件格式,因此一个大的镶木地板文件不会成为mapreduce的开销。