FusionInsight大数据开发---Streaming应用开发
Streaming应用开发
- 掌握Streaming基本业务开发流
- 熟悉Streaming常用API接口使用
- 掌握Streaming业务设计基本原则
- 了解Streaming应用开发环境
- 了解CQL开发流及使用
Streaming的定义
Streaming基于开源Storm,是一个分布式、实时计算框架。Streaming在开源Storm的基础上增加了持续查询语言CQL、增强了安全性和可靠性。
- 事件驱动
- 连续查询
- 数据不存储、先计算
- 实时响应,低延迟
CQL(Continuous Query Language),持续查询语言,是一种用于实时数据流上的查询语言。
它是一种SQL-like的语言,目前主要适配Storm。
相对于SQL,CQL中增加了(时序)窗口的概念,将待处理的数据保存在内存中,进行快速的内存计算,CQL的输出结果为数据流在某一时刻的计算结果。
Streaming的适用场景
Streaming主要应用于以下几种对响应时延有严重要求的场景:
- 实时分析:如实时日志处理,交通流分析等
- 实时统计:如网站的实时访问统计、排序等
- 实时推荐:如实时广告定位、事件营销等
提交拓扑
当前Streaming支持三种方式提交拓扑
- Linux命令行提交-CMD模式
- Eclipse远程提交-Remote模式
- 本地模式提交-Local模式
Spout设计
- 数据接受
- 数据反序列化
- 数据拆分
- 数据筛选
- 数据缓存
- 数据发送
counting Bolt设计
功能:
- 窗口定义
- 刷新窗口
- 发送数据
Storm提供接口
1 REST接口
- REST(Representational State Tansfer)表述性状态转移接口。
2 Thrift接口
- 由Numbus提供。Thrift是一个基于静态代码生成的跨语言的RPC协议栈实现。
Spout接口
- Spout的Ack开关
Bolt接口
- Bolt的Ack开关
- 创建输入流
- Join
- 窗口
- Split
愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。
作者:菜鸟-传奇
本文版权归作者和博客园共有,重在学习交流,不以任何盈利为目的,欢迎转载。
敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。