Spark之Streaming实时监听Hdfs文件目录
来源:互联网 发布:淘宝手机地址转换 编辑:程序博客网 时间:2024/06/01 08:20
应用场景:我们使用Streaming实时监听指定的Hdfs目录,当该目录有新的文件增加会读取它,并完成单词计数的操作。
这里和上一篇的差别就是:上一篇用的是socketTextStream而这里用的是:textFileStream。
其他没有不同。
代码展示:
import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.function.FlatMapFunction;import org.apache.spark.api.java.function.Function2;import org.apache.spark.api.java.function.PairFunction;import org.apache.spark.streaming.Durations;import org.apache.spark.streaming.api.java.JavaDStream;import org.apache.spark.streaming.api.java.JavaPairDStream;import org.apache.spark.streaming.api.java.JavaStreamingContext;import scala.Tuple2;public class SparkStreamDfs002 { public static void main(String[] args) { SparkConf conf = new SparkConf().setMaster("local[4]").setAppName("NetworkWordCount").set("spark.testing.memory", "2147480000"); JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(1)); System.out.println(jssc); //创建监听文件流 JavaDStream<String> lines=jssc.textFileStream("hdfs://192.168.61.128:9000/sparkStreaminput001/"); JavaDStream<String> words = lines.flatMap(new FlatMapFunction<String, String>() { public Iterable<String> call(String x) { System.out.println(Arrays.asList(x.split(" ")).get(0)); return Arrays.asList(x.split(" ")); } }); JavaPairDStream<String, Integer> pairs = words.mapToPair(new PairFunction<String, String, Integer>() { public Tuple2<String, Integer> call(String s) { return new Tuple2<String, Integer>(s, 1); } }); JavaPairDStream<String, Integer> wordCounts = pairs.reduceByKey(new Function2<Integer, Integer, Integer>() { public Integer call(Integer i1, Integer i2) { return i1 + i2; } }); wordCounts.print(); wordCounts.dstream().saveAsTextFiles("hdfs://192.168.61.128:9000/sparkStream001/wordCount/", "spark"); jssc.start(); jssc.awaitTermination(); }}
0 0
- Spark之Streaming实时监听Hdfs文件目录
- Spark Streaming 监控HDFS目录
- Spark Streaming之:Flume监控目录下文件内容变化,然后Spark Streaming实时监听Flume,然后从其上拉取数据,并计算出结果
- 7.Spark Streaming:输入DStream之基础数据源以及基于HDFS的实时wordcount程序
- 实时计算实践(spark streaming+kafka+hdfs)
- spark streaming读取HDFS
- spark解决方案系列--------1.spark-streaming实时Join存储在HDFS大量数据的解决方案
- Spark Streaming 实时监控一个HDFS的文件夹,当新的文件进来(名字不能重复),将对新文件进行处理。
- spark streaming 写入db,hdfs
- spark streaming 写hdfs问题
- Spark-Streaming之transform操作,实时黑名单过滤案例
- Spark Streaming实时读取Kafka
- spark streaming 实时统计mysql
- Flume之监听目录变化并上传文件到HDFS中
- Spark streaming不同数据来源(socket套接字、hdfs目录)和存储位置(hdfs、本地)的java代码
- Spark Streaming(下)--实时流计算Spark Streaming实战
- Spark Streaming(下)--实时流计算Spark Streaming实战
- Flume监听文件目录sink至hdfs配置
- leetcode 19. Remove Nth Node From End of List
- 错误:找不到或无法加载主类HelloWorld
- android /system/vold源码分析(4)
- 一个 JavaScript 小时钟
- JavaAPI之AtomicInteger
- Spark之Streaming实时监听Hdfs文件目录
- Hibernate全方位总结
- error C2054: 在“inline”之后应输入“(”
- linux系统
- Android视图的绘制流程(上)——View的测量
- 22、jdbc入门2
- PopWindow实现显示背景窗口变暗
- Hibernate深入
- 【CSS笔记五】CSS格式化排版