一、SparkStreaming

  1.sparkcore模块的扩展,具有可扩展,高吞吐量,容错机制,针对实时数据流处理,数据可以来自于kafka,flume以及tcp套接字,可以使用更加复杂的函数来进行处理

    如map reduce 和filter。数据可以推送到hdfs,mysql,针对数据流可以应用到机器学习以及图计算中

    

  2.在内部,spark接收实时数据流,分成小批次,所以spark不是实时计算,是小批次计算,由spark引擎来进行处理,最终在每个批次中产生结果数据流。按照时间来划分批次。

    计算完成之后就变成一小块的数据。sparkstreaming提供了一个高级的抽象称为discretized stream or DStream,离散流,代表的是连续的数据流。通过kafka或者flue实时输入数据流产生,也可以通过其他的DStream进行高阶变换产生。在内部,DStream也表现为RDD流。

   3.体验sparkstreaming

    (1)spark api编程

from pyspark import SparkContext
from pyspark.streaming import StreamingContext # Create a local StreamingContext with two working thread and batch interval of second
sc = SparkContext("local[2]", "NetworkWordCount") #创建一个sparkStreaming上下文对象,local要大于1
ssc = StreamingContext(sc, )#指定一个上下文对象
# Create a DStream that will connect to hostname:port, like localhost:9999与主机创建连接,localhost是9999
lines = ssc.socketTextStream("localhost", 9999)
# Split each line into words,把每一个流切换成一个单词
words = lines.flatMap(lambda line: line.split(" "))
# Count each word in each batch,计算在队列中的每一个单词,变换成对偶
pairs = words.map(lambda word: (word, 1))
wordCounts = pairs.reduceByKey(lambda x, y: x + y) # Print the first ten elements of each RDD generated in this DStream to the console,在控制台上打印10个元素
wordCounts.pprint()
ssc.start()             # Start the computation开始计算
ssc.awaitTermination() # Wait for the computation to terminate,等待计算结束

  (2)启动nc服务器

    nc -Ll -p 9999

  

    

最新文章

  1. iOS之开发中一些相关的路径以及获取路径的方法
  2. 2.4.1 用NPOI操作EXCEL--画线(转)
  3. 精通CSS version2笔记2.小知识
  4. 《Linux内核分析》课程总结
  5. 免费的SSL证书,免费为微信小程序搭建https
  6. 【转】 Android快速开发系列 10个常用工具类 -- 不错
  7. 那些年被我坑过的Python——山外有山(第四章)
  8. BC 65 ZYB's Premutation (线段树+二分搜索)
  9. 【C/C++】Linux下使用system()函数一定要谨慎
  10. OC 语法基础一
  11. 解决mysqldb查询大量数据导致内存使用过高的问题
  12. Arch最小化安装LXDE桌面环境
  13. [leetcode-523-Continuous Subarray Sum]
  14. 初学Python(五)——元组
  15. sublime 将tab替换为4个空格 & 显示空格
  16. day2 eclipse+gitee 操作步骤记录留档
  17. Netty入门(三)之web服务器
  18. layui(五)——form组件常见用法总结
  19. 天地图api地址
  20. Exceptionless搭配log4net记录日志

热门文章

  1. Linux文件及目录查找
  2. 3,ActiveMQ-入门(基于JMS发布订阅模型)
  3. spring mvc 绑定参数据默认值,是否必传,(RequestParam(value="id",defaultValue="1",required=true) )
  4. js数字每3位加一个逗号
  5. Maven的settings.xml配置详解
  6. 【CF1252F】Regular Forestation(重心,树同构)
  7. winform最小化及添加右键
  8. Exchanger 源码分析
  9. sql数据库收缩
  10. 用Vue来实现音乐播放器(十四):歌手数据接口抓取