我使用flink批处理api和hadoop fileinputformat来处理大量的输入文件(大约100k)。我发现这项工作准备得非常慢。我在一个房间里发现的 FileInputFormat.getSplits()
方法,它迭代所有输入路径并获得每个路径的块位置。我认为它将向hdfs发送10万个请求,这将导致这个问题。有什么方法可以加速分裂生成过程吗?我认为spark和mapreduce可能也有类似的问题。非常感谢你!
我使用flink批处理api和hadoop fileinputformat来处理大量的输入文件(大约100k)。我发现这项工作准备得非常慢。我在一个房间里发现的 FileInputFormat.getSplits()
方法,它迭代所有输入路径并获得每个路径的块位置。我认为它将向hdfs发送10万个请求,这将导致这个问题。有什么方法可以加速分裂生成过程吗?我认为spark和mapreduce可能也有类似的问题。非常感谢你!
1条答案
按热度按时间5jvtdoz21#
尝试增加此参数:mapreduce.input.fileinputformat.list-status.num-threads
而且,压缩那些10万个文件肯定会有帮助。