如何在Apache Flink的每个循环迭代中写入文件?

时间:2019-06-09 22:38:43

标签: java apache-flink

我是Apache Flink的新手。我必须过滤计算机中的所有文件并将它们写入一个文件。但是在Flink中,似乎无法写入现有文件。我该如何处理?

1 个答案:

答案 0 :(得分:0)

您要做的是将所有文件用作Flink工作流程的源,而不是一次迭代处理一个文件。通常,您可以通过添加Hadoop作业配置文件的路径来实现此目的,例如这是我使用读取序列(二进制)文件的代码示例。

        Job job = Job.getInstance();
        FileInputFormat.addInputPath(job, new Path(options.getCrawlDir()));

        HadoopInputFormat<Tuple, Tuple> inputFormat =  HadoopInputs.createHadoopInput(new SequenceFileInputFormat<Tuple, Tuple>(), 
                Tuple.class, Tuple.class, job);

        DataSet<HomePageText> homePageData =  env.createInput(inputFormat)