scala - Spark 结构化流处理以前的文件

标签 scala apache-spark

我正在 Spark Structures Streaming 中实现文件源如果文件被修改,想要再次处理相同的文件名。基本上是对文件的更新。目前 Spark 将不会在处理后再次处理相同的文件名。与 Dstream 的 Spark Streaming 相比似乎有限。有没有办法做到这一点? Spark 结构化流不会在任何地方记录这一点,它只处理具有不同名称的新文件。

最佳答案

我认为这在某种程度上是一种反模式,但您也许能够挖掘检查点数据并删除该原始文件的条目。

尝试在/checkpoint/sources// 文件中查找原始文件名删除文件或条目。这可能会导致流再次获取文件名。我自己还没有尝试过这个。

如果这是一次性手动更新,我只需将文件名更改为新名称并将其放入源目录中。这种方法无法维护或自动化。

关于scala - Spark 结构化流处理以前的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49266767/

相关文章:

json - Spark 如何在 Scala 的两个 JSONS 中更改键的数量?

scala - 使用 Slick 1.0.0 计算行数

json - 使用 Apache Spark 读取 JSON - `corrupt_record`

regex - Spark 2.2/Jupyter Notebook SQL regexp_extract 函数与正则表达式模式不匹配

apache-spark - 打印 ResultIterable 对象的内容

scala - Jodatime Scala 和序列化日期时间

apache-spark - Spark - nvl 函数数据类型不匹配错误

apache-spark - 如何在 Spark MLlib 中使用 L1 正则化进行 LogisticRegressionWithLBFGS

parsing - Scala 解析 SML 的相互递归函数

scala - 如何解决 Scala 编译器崩溃问题?