我有一个用例,我在S3中有数百万个小文件需要由Spark处理。我有两个选项来减少任务数量: 1.使用Coalesce 2.扩展CombineFileInputFormat
但我不清楚机器人的性能影响以及何时使用其他产品。
另外,CombineFileInputFormat是一个抽象类,这意味着我需要提供我的实现。但Spark API(newAPIHadoopRDD)将类名作为参数,我不确定如何传递可配置的maxSplitSize
答案 0 :(得分:0)
为此类方案考虑的另一个很好的选择是SparkContext.wholeTextFiles()
,它为每个文件创建一条记录,其名称为key
,内容为value
- 请参阅{{3} }}