一、基本数据源
StreamingContext API中直接提供了对一些数据源的支持,例如文件系统、Socket连接、RDD队列流等,此类数据源称为基本数据源。
(一)文件流
1、读取文件流概述
对于从任何与HDFS API(HDFS、S3、NFS等)兼容的文件系统上的文件中读取数据,创建DStream的方式:streamingContext.fileStreamKeyClass, ValueClass, InputFormatClass,Spark Streaming将监视目录dataDirectory并处理在该目录中的所有文件。
对于简单的文本文件,创建DStream的方式:streamingContext.textFileStream(dataDirectory)
需要注意的是,文件流不需要运行Receiver,因此不需要为接收文件数据分配CPU内核。
2、读取文件流演示
在HDFS上创建监测目录/stream

待会儿需要将/park目录里的words.txt与test.txt文件拷到监测目录/stream

创建Maven项目 - SparkStreamingDataSourceDemo

将java目录改成scala目录

创建日志属性文件 - log4j.properties
log4j.rootLogger=ERROR, stdout, logfile
log4j.appender.stdout=or

本文介绍了Spark Streaming如何处理文件流数据源,包括不使用Receiver读取文件的机制,以及通过`streamingContext.fileStream`和`streamingContext.textFileStream`方法创建DStream的演示。在示例中,程序首先统计了words.txt的词频,然后统计了test.txt的词频,展示了文件流的实时处理能力。
最低0.47元/天 解锁文章
911

被折叠的 条评论
为什么被折叠?



