sqoop进口实木复合地板尺寸

问题描述 投票:0回答:2

我的问题是,我有一个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>

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

oracle hadoop sqoop
2个回答
0
投票

这意味着您的数据不是均匀分布的。

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.