Spark 2.2.1 处理HDFS文件数据源的案例与解读
上一节讲解了从Sockets获取数据,Spark StreamingContext API还提供了从其他基础数据源创建DStream实例的方法,这里以文件数据源作为例子,对文件流进行处理。
在企业中可引入类似Flume的工具收集数据,企业从各种数据源获取数据,存入某个文件存储系统(一般使用HDFS)。例如将从Flume数据源收集来的日志文件,存入HDFS文件系统。Spark Streaming通过监控某一目录下的新建文件的方法,使用文件流的方式去处理。
本案例以手动构建文件,并移入监控目录来简化外部数据源存入该目录;在IDEA中运行应用程序,Spark Streaming使用Local本地方式运行,这种方式下,可以方便代码的调试。具体代码如下:
HdfsWordCount.scala的源代码:
1.
package stream
2. import org.apache.spark.SparkConf
3. import org.apache.spark.examples.streaming.StreamingExamples
4. import org.apache.spark.streaming.{Seconds, StreamingContext}
5. object HdfsWordCount {
6. def main(args: A