在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Spark Streaming是什么

132次阅读
没有评论

共计 5320 个字符,预计需要花费 14 分钟才能阅读完成。

这篇文章主要讲解了“Spark Streaming 是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Spark Streaming 是什么”吧!

一:Spark Streaming 概览。

1.1    简单了解 Spark Streaming。

 Spark Streaming 是核心 Spark API 的一个扩展。具有可扩展性,高吞吐量,容错性,实时性等特征。

  数据从许多来如中摄入数据,如 Kafka, Flume, Twitter, ZeroMQ, Kinesis, or TCP sockets。

也可以使用复杂的算法与高级别的功能像 map,reduce,join 和 window 处理。

  最后,也可以将处理过的数据推送到文件系统、数据库。事实上,我们也可以用 Spark 的机器学习和图形处理数据流上的算法。用图形表示如下:
  在内部,其工作原理如下。Spark Streaming 接收实时输入的数据流和数据划分批次,然后由 Spark 引擎批处理生成的最终结果流。如图示: 

    另外,Spark Streaming 提供一个高级抽象,称为离散的流或 DStream,表示连续的流的数据。DStreams 可以被创建从输入的数据流,如 Kafka, Flume, and Kinesis,

  或采用其他的 DStreams 高级别操作的输入的数据流。

  在内部,DStream 是以 RDDs 的序列来表示。

首先,看看 Maven 的依赖包(spark-streaming_2.10)管理:

  dependency 
 groupId org.apache.spark /groupId 
 artifactId spark-streaming_2.10 /artifactId 
 version 1.6.1 /version 
 /dependency

1.2    eg:从一个数据服务器监听 TCP 套接字接收的文本数据中的单词进行计数

package com.berg.spark.test5.streaming;
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.JavaReceiverInputDStream;
import org.apache.spark.streaming.api.java.JavaStreamingContext;
import scala.Tuple2;
public class SparkStreamingDemo1 {public static void main(String[] args) {SparkConf conf = new SparkConf().setMaster(local[2] ).setAppName( NetworkWordCount 
 conf.set( spark.testing.memory ,  269522560000 
 JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(10));
 System.out.println(jssc:   + jssc);
 //  创建一个 DStream,  将连接  hostname:port,  比如  master:9999
 JavaReceiverInputDStream String  lines = jssc.socketTextStream(master , 9999);
 System.out.println(lines :   + lines);
 JavaDStream String  words = lines.flatMap(new FlatMapFunction String, String () {
 private static final long serialVersionUID = 1L;
 public Iterable String  call(String x) {return Arrays.asList(x.split(  ));
 // Count each word in each batch
 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;
 // Print the first ten elements of each RDD generated in this DStream to
 // the console
 wordCounts.print();
 jssc.start(); // Start the computation
 jssc.awaitTermination(); // Wait for the computation to terminate}

至于代码如何运行了,首先在 Linux 下终端输入:$ nc -lk 9999

然后在 Eclipse 中运行代码。

随意输入一行文本单词,单词之间用空格隔开,如下:

hadoop@master:~$ nc -lk 9999
berg hello world berg hello

可以在 Eclipse 控制台看到如下结果:

Time: 1465386060000 ms
-------------------------------------------
(hello,2)
(berg,2)
(world,1)

1.3 将 HDFS 目录下的某些文件内容当做 输入的数据流。

public class SparkStreamingDemo2 {public static void main(String[] args) {SparkConf conf = new SparkConf().setMaster(local[2] ).setAppName( NetworkWordCount 
 conf.set( spark.testing.memory ,  269522560000 
 JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(10));
 System.out.println(jssc:   + jssc);
 //  创建一个 DStream,  读取 HDFS 上的文件, 作为数据源。JavaDStream String  lines = jssc.textFileStream( hdfs://master:9000/txt/sparkstreaming/ 
 System.out.println(lines :   + lines);
 // Split each line into words
 JavaDStream String  words = lines.flatMap(new FlatMapFunction String, String () {
 private static final long serialVersionUID = 1L;
 public Iterable String  call(String x) {System.out.println(Arrays.asList(x.split(  )).get(0));
 return Arrays.asList(x.split(  ));
 // Count each word in each batch
 JavaPairDStream String, Integer  pairs = words.mapToPair(new PairFunction String, String, Integer () {
 private static final long serialVersionUID = 1L;
 public Tuple2 String, Integer  call(String s) {return new Tuple2 String, Integer (s, 1);
 System.out.println(pairs);
 JavaPairDStream String, Integer  wordCounts = pairs.reduceByKey(new Function2 Integer, Integer, Integer () {public Integer call(Integer i1, Integer i2) {
 return i1 + i2;
 // Print the first ten elements of each RDD generated in this DStream to the console
 wordCounts.print();
 JavaDStream Long  count = wordCounts.count();
 count.print(); //  统计
 DStream Tuple2 String, Integer  dstream = wordCounts.dstream();
 dstream.saveAsTextFiles( hdfs://master:9000/bigdata/spark/xxxx ,  sparkstreaming 
 //wordCounts.dstream().saveAsTextFiles( hdfs://master:9000/bigdata/spark/xxxx ,  sparkstreaming 
 jssc.start(); 
 jssc.awaitTermination(); // Wait for the computation to terminate}

上述代码完成的操作是,一直监听 HDFS 即 hdfs://master:9000/txt/sparkstreaming/ 目录下是否有文件存入,如果有,则统计文件中的单词。。。。

尝试运行程序后,然后往该目录中手动添加一个文件,会在控制台看到对该文件内容中的单词统计后的数据。

注意参数的意义:

 public JavaDStream java.lang.String textFileStream(java.lang.String directory)
 Create an input stream that monitors a Hadoop-compatible filesystem for 
            new files and reads them as text 
                     files (using key as LongWritable, value as Text and input format as TextInputFormat).
                 Files must be written to the monitored directory 
                 by moving them from another location within the same file system. 
                 File names starting with . are ignored.
 Parameters:
 directory – HDFS directory to monitor for new file
 Returns:
 (undocumented)

感谢各位的阅读,以上就是“Spark Streaming 是什么”的内容了,经过本文的学习后,相信大家对 Spark Streaming 是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计5320字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久精品爱国产免费久久 | 夜鲁鲁鲁夜夜综合视频欧美 | 亚洲tv成人天堂在线播放 | 中国欧美日韩一区二区三区 | 色播放 | 日本亚洲国产精品久久 | 亚洲成在人线视av | 欧美18毛片免费看 | 失禁h啪肉尿出来高h男男 | 一级做a爰片性色毛片男 | 四虎免费网址 | 亚洲精品欧洲一区二区三区 | 国产欧美日本亚洲精品一4区 | 天堂va亚洲va欧美va国产 | 男人又粗又硬桶女人免费 | 久久精品国产一区二区三 | 男人黄女人色视频在线观看 | 国产日韩精品中文字无码 | 欧美一级淫片a免费视频 | 无码av动漫精品一区二区免费 | av免费网址在线观看 | 毛片爽爽爽免费看 | 久久9精品 | 亚洲国产精品无码久久电影 | 国产乱子伦在线观看 | 亚洲av无码国产综合专区 | 欧美人妻精品一区二区三区 | 国产va视频| 久久久久免费看成人影片 | 成年人国产视频 | 国产亚洲美女精品久久久久 | 中文字幕在线激情日韩一区 | 亚洲熟妇无码一区二区三区 | 国农村精品国产自线拍 | 久草热久草热线频97精品 | 国产成人一区二区三区 | 牲高潮99爽久久久久777 | 欧美日韩亚洲天堂 | 久久99亚洲网美利坚合众国 | 美女网站黄在线看 | 久久综合色之久久综合 |