scalable fault tolerance
sparkstreaming类似于Apache storm的实时处理
fault tolerance 自动恢复 保证消息不丢失,不会重复处理
流式处理 批处理 交互式处理 结合
易用性
类似离线批处理 java scala Python
容错
不丢失 只处理一次不重复 底层还是RDD
易整合
各种处理 流式处理 批处理 交互式处理 结合很方便 能融合到spark体系
可扩展高吞吐 流式处理应用
原理:
批处理 秒级 storm是真实时一个数据一个数据都要处理
sparkstreaming 是 一批一批处理
架构图 两部分看
spark 0.5-2
storm 0.1
DStream
一批过来给你算算,保存在内存,
nc工具netcat路由器设置 端口 nc -lk 9999模拟socket
开窗函数:
reduceByKeyAndWindow三个参数
计算函数, 窗口长度 ,滑动窗口的时间间隔
前边定义有每个批次的间隔时间5s
大于 : 重复计算
小于 : 丢失数据
1两个参数必须为批次时间间隔的整数倍
2让两个参数相等
netstat -nlp | grep 9999 检测9999还在不在,Ctrl+ C 没有真的停止
RDD => { }
flume spooldir
lib flume 启动 采集
拉
多个flume产生数据同时让spark接收
看着源码填参数
两种方式
要zk offset 放zk
不要zk 直接从kafka拿offset
第2天RDD底层原理
如何保证消息不丢失 不重复
HBASE sparksql
elk 两个项目