背景:使用flink批作业 读取存在hdfs上的日志 需要迭代读取目录下所有文件的内容
源代码:
Configuration conf = new Configuration();
conf.setBoolean("recursive.file.enumeration", true);
DataSet<String> in = env.readTextFile(urlWithDate).withParameters(conf);
但是由于日志数量比较大。 出现akka链接超时问题。无法正常提交job。
解决问题代码:
FileInputFormat fileInputFormat = new TextInputFormat(new Path(urlWithDate));
fileInputFormat.setNestedFileEnumeration(true);
DataSet<String> dataSet = env.readFile(fileInputFormat, urlWithDate);
相关网站:
https://issues.apache.org/jira/browse/FLINK-3964
http://mail-archives.apache.org/mod_mbox/flink-user/201701.mbox/EB73D7A7-AB16-464F-BE0D-CBFBB1EEF3EA@data-artisans.com