sparkStreaming复习笔记(1)
一、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
sparkStreaming复习笔记(1)的更多相关文章
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- Angular复习笔记7-路由(下)
Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使 ...
- Angular复习笔记7-路由(上)
Angular复习笔记7-路由(上) 关于Angular路由的部分将分为上下两篇来介绍.这是第一篇. 概述 路由所要解决的核心问题是通过建立URL和页面的对应关系,使得不同的页面可以用不同的URL来表 ...
- Angular复习笔记6-依赖注入
Angular复习笔记6-依赖注入 依赖注入(DependencyInjection)是Angular实现重要功能的一种设计模式.一个大型应用的开发通常会涉及很多组件和服务,这些组件和服务之间有着错综 ...
随机推荐
- 如何使 C++ 的 StringBuilder 提升 4350% 的性能?
介绍 经常出现客户端打电话抱怨说:你们的程序慢如蜗牛.你开始检查可能的疑点:文件IO,数据库访问速度,甚至查看web服务. 但是这些可能的疑点都很正常,一点问题都没有. 你使用最顺手的性能分析工具分析 ...
- php array_values()函数 语法
php array_values()函数 语法 作用:返回数组的所有值(非键名)富瑞华大理石平台 语法:array_values(array) 参数: 参数 描述 array 必需.规定数组. ...
- php 单示例编程
<?php defined('SYSPATH') or die('No direct script access.'); class Kohana_BOTA { //私有构造方法,防止再次实例化 ...
- #1126-JSP HTTP状态码
JSP HTTP状态码 HTTP请求与HTTP响应的格式相近,都有着如下结构: 以状态行+CRLF(回车换行)开始零行或多行头模块+CRLF一个空行,比如CRLF可选的消息体比如文件,查询数据,查询输 ...
- 3D Computer Grapihcs Using OpenGL - 10 Color Buffer
本节我们将尝试利用三角形制作一个“走马灯”效果. 一个三角形如图示方式,从左向右依次移动. 先看一下代码: MyGlWindow.cpp #include <gl\glew.h> #inc ...
- 使用chooseImage上传图片,不压缩,使用原图
参考文章: https://help.aliyun.com/document_detail/92883.html
- 5 November
拓扑排序 for (int i=1; i<=n; ++i) if (!ind[i]) q.push(i); while (!q.empty()) { int now=q.top(); q.pop ...
- 大数据笔记(十八)——Pig的自定义函数
Pig的自定义函数有三种: 1.自定义过滤函数:相当于where条件 2.自定义运算函数: 3.自定义加载函数:使用load语句加载数据,生成一个bag 默认:一行解析成一个Tuple 需要MR的ja ...
- SQL报错:ORA-00911:无效的字符错误
转载自:https://blog.csdn.net/huangyanlong/article/details/38096469 *)ORA-00911:无效的字符错误——由编译环境下一个小错误引起.S ...
- Xcode工程文件pbxproj
Xcode工程文件pbxproj Xcode会去读Project.pbxproj文件,把pbxproj转成plist文件,看起根目录结构 rootObject:指向的是我们的工程对象.(对应一个24个 ...