gpt4 book ai didi

java - Apache Spark 从 HDFS 以流的形式读取文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:32 25 4
gpt4 key购买 nike

如何使用 Apache Spark Java 从 hdfs 以流形式读取文件?我不想读取整个文件,我想要文件流以便在满足某些条件时停止读取文件,我如何使用 Apache Spark 做到这一点?

最佳答案

您可以使用 ssc 方法使用流式 HDFS 文件

val ssc = new StreamingContext(sparkConf, Seconds(batchTime))

val dStream = ssc.fileStream[LongWritable, Text, TextInputFormat]( streamDirectory, (x: Path) => true, newFilesOnly = false)

使用上面的api param filter 函数过滤处理路径。

如果您的条件不是文件路径/名称并且基于数据,那么如果条件满足,您需要停止流式传输上下文。

为此你需要使用线程实现, 1)在一个线程中,您需要继续检查流式上下文是否已停止,如果 ssc 停止,则通知其他线程等待并创建新的流式上下文。

2) 在第二个线程中,您需要检查条件,如果条件满足则停止流上下文。

如果您需要解释,请告诉我。

关于java - Apache Spark 从 HDFS 以流的形式读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41908873/

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