gpt4 book ai didi

hadoop - Spark Streaming 可以选择特定文件吗

转载 作者:可可西里 更新时间:2023-11-01 16:06:29 26 4
gpt4 key购买 nike

我的程序不断从 hadoop 文件夹(例如 /hadoopPath/)读取流。它从上述文件夹中挑选所有文件。我可以只为这个文件夹拍摄特定的文件类型吗(比如 :/hadoopPath/*.log)

我还有一个与 Spark 和流相关的问题: Is spark streaming works with both "cp" and "mv"

最佳答案

几个小时以来,我一直在为同一个问题苦苦挣扎,虽然它看起来很简单,但我在网上找不到任何相关信息。最后,我找到了适合我的情况的解决方案。我把它放在这里是为了为遇到同样问题的其他人节省一些时间。
假设您只想读取具有“path-to-hadoop-folder/*.csv”模式的文件。在默认情况下,当您指示文件夹时,spark 会读取文件夹中的所有文件(例如 .csv.COPYING),在我的例子中,这会导致错误。您需要做的就是在定义 readStrem 时在 .csv 方法中指定此模式。 python 中的一个例子是这样的:

activity = spark \
.readStream \
.option("sep", ",") \
.schema(userSchema) \
.csv("path-to-hadoop-folder/*.csv")

通过这种方式,spark 只考虑带有 *.csv 模式的文件,而忽略文件夹中的所有其他文件。我已经在 spark 2.0.0 和 hadoop 2.6 上测试过了。 (P.S 我只对 csv 文件进行了测试,但我想处理文本文件应该有类似的解决方案)您可以在 spark dataStreamReader guild 中找到相同的解决方案

关于hadoop - Spark Streaming 可以选择特定文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351457/

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