如何在Flink中的目录中读取新添加的文件

时间:2019-01-14 05:28:17

标签: apache-flink

我想以流模式读取目录中的文件内容,即 将新文件添加到目录中后,请阅读它。

下面是示例代码,我观察到该程序在打印目录中所有已存在的文件之后,然后添加了一个新文件,但是该程序未打印新添加的文件的内容。

我不确定问题出在哪里。

import org.apache.flink.api.java.io.TextInputFormat
import org.apache.flink.core.fs.Path
import org.apache.flink.streaming.api.functions.source.FileProcessingMode
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}

import org.apache.flink.streaming.api.scala._

object FileBasedDataStreamTest {

  def main(args: Array[String]): Unit = {

    val env = StreamExecutionEnvironment.getExecutionEnvironment
    val path = "D:/flink-data/001"
    val ds: DataStream[String] = env.readFile(new TextInputFormat(new Path(path)), path, FileProcessingMode.PROCESS_CONTINUOUSLY, 100)
    ds.print()
    env.execute()
  }

}

0 个答案:

没有答案