具有100k路径的Hadoop输入在拆分过程中会导致非常长的时间



我使用带有Hadoop FileInputFormat的Flink批处理API来处理大量输入文件(约100k(。我发现准备工作的速度非常慢。我发现在FileInputFormat.getSplits()方法中,它迭代所有输入路径,并为每个路径获取块位置。我认为它将向HDFS发送10万个请求,这导致了这个问题。是否有任何方法可以加快分割生成过程?我认为spark和mapreduce可能也有类似的问题。非常感谢!

尝试增加此参数:mapreduce.input.fileinputformat.list status.num threads

此外,压缩这10万个文件肯定会有所帮助。

最新更新