gpt4 book ai didi

apache-spark - Spark Streaming 如何识别新文件

转载 作者:行者123 更新时间:2023-12-04 04:15:11 25 4
gpt4 key购买 nike

Spark 流怎么做fileStream从一个时间间隔到另一个时间间隔识别监视目录中的新文件?

它是基于新文件名还是文件创建时间戳或任何其他方法?
newFilesOnly有什么意义争论?

fileStream(String directory, Class<K> kClass, Class<V> vClass, Class<F> fClass, Function<org.apache.hadoop.fs.Path,Boolean> filter, boolean newFilesOnly, org.apache.hadoop.conf.Configuration conf)

最佳答案

监控的快速答案是它使用文件修改时间( isNewFile 使用 getFileModTime )

至于newFilesOnly ....这不是那么简单,但您可以 discern this info from the code .

TL; DR;是它只从流开始的最后一分钟拉旧文件( newFilesOnly = false )。

这个参数更复杂的答案是它设置了一个值 initialModTimeIgnoreThreshold为当前时间或 0。此值然后用于设置 modTimeIgnoreThreshold ,这是上述文件与搜索时间窗口中最旧文件 ( currentTime - durationToRemember.milliseconds ) 的最大值。这就是 existing bugJUST fixed .时间窗口曾经是硬编码的一分钟窗口,因此如果将此参数设置为 false,则只能在过去 1 分钟内修改文件。尽管如此,我仍然对这个修复持怀疑态度......但是,无论哪种方式,这个论点在 3 天前基本上被打破了。

关于apache-spark - Spark Streaming 如何识别新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com