从数据库导入数据时,Sqoop创建了太多小文件

时间:2017-08-28 06:58:20

标签: hadoop hive hdfs sqoop

我创建了一个自动化流程,使用sqoop将数据从数据库逐步导入到hdfs。现在,而不是使文件像块大小一样大,hadoop正在创建多个小文件。如何指示sqoop创建与块大小一样大的文件?

2 个答案:

答案 0 :(得分:0)

文件数量应该最多等于你的映射器数量。根据数据的大小,我建议使用1个映射器执行增量更新,但是即使这样做,创建1个文件,你可能会将文件缩小到块大小。您可以解决此问题,创建一个不同的流程来合并小文件。

答案 1 :(得分:0)

根据数据库中插入的记录数量,HDFS上的sqoop增量作业创建文件,-m 1可以在sqoop命令中传递,以获取hdfs上的单个输出文件。

当数据库中插入较少的记录时,如果sqoop获得这些记录并写入多个文件,则sqoop合并作业可以提供帮助。