Как прочитать недавно добавленный файл в каталоге в Flink - PullRequest
0 голосов
/ 14 января 2019

Я хочу прочитать содержимое файла в каталоге в потоковом режиме, то есть когда новые файлы добавляются в каталог, читайте его.

Ниже приведен пример кода, я заметил, что после того, как программа напечатает все уже существующие файлы в каталоге, а затем я добавлю новый файл, но программа не напечатает содержимое вновь добавленного файла.

Я не уверен, где проблема.

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()
  }

}
...