Spark处理小文件(coalesce vs CombineFileInputFormat)

时间:2016-10-28 01:15:03

标签: hadoop apache-spark emr amazon-emr

我有一个用例,我在S3中有数百万个小文件需要由Spark处理。我有两个选项来减少任务数量: 1.使用Coalesce 2.扩展CombineFileInputFormat

但我不清楚机器人的性能影响以及何时使用其他产品。

另外,CombineFileInputFormat是一个抽象类,这意味着我需要提供我的实现。但Spark API(newAPIHadoopRDD)将类名作为参数,我不确定如何传递可配置的maxSplitSize

1 个答案:

答案 0 :(得分:0)

为此类方案考虑的另一个很好的选择是SparkContext.wholeTextFiles(),它为每个文件创建一条记录,其名称为key,内容为value - 请参阅{{3} }}