我正在尝试使用Dataset API(env.readTextFile()
)从HDFS读取多个.gz文件,但是文件大小变化很大,这使得通过增加并行度来提高效率变得困难。因此,我想知道是否存在可以应对这种数据偏斜问题的参数。或者,我是否必须使输入文件具有相似的大小?
下面是我现在正在使用的代码,该代码是从Flink DataSet API Programming Guide
复制而来的// enable recursive enumeration of nested input files
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// create a configuration object
Configuration parameters = new Configuration();
// set the recursive enumeration parameter
parameters.setBoolean("recursive.file.enumeration", true);
// pass the configuration to the data source
DataSet<String> logs = env.readTextFile("file:///path/with.nested/files")
.withParameters(parameters);