Streaming应用开发

  1. 掌握Streaming基本业务开发流
  2. 熟悉Streaming常用API接口使用
  3. 掌握Streaming业务设计基本原则
  4. 了解Streaming应用开发环境
  5. 了解CQL开发流及使用

Streaming的定义

Streaming基于开源Storm,是一个分布式、实时计算框架。Streaming在开源Storm的基础上增加了持续查询语言CQL、增强了安全性和可靠性。

  • 事件驱动
  • 连续查询
  • 数据不存储、先计算
  • 实时响应,低延迟

CQL(Continuous Query Language),持续查询语言,是一种用于实时数据流上的查询语言。
它是一种SQL-like的语言,目前主要适配Storm。
相对于SQL,CQL中增加了(时序)窗口的概念,将待处理的数据保存在内存中,进行快速的内存计算,CQL的输出结果为数据流在某一时刻的计算结果。

Streaming的适用场景
Streaming主要应用于以下几种对响应时延有严重要求的场景:

  1. 实时分析:如实时日志处理,交通流分析等
  2. 实时统计:如网站的实时访问统计、排序等
  3. 实时推荐:如实时广告定位、事件营销等

提交拓扑
当前Streaming支持三种方式提交拓扑

  1. Linux命令行提交-CMD模式
  2. Eclipse远程提交-Remote模式
  3. 本地模式提交-Local模式

Spout设计

  1. 数据接受
  2. 数据反序列化
  3. 数据拆分
  4. 数据筛选
  5. 数据缓存
  6. 数据发送

counting Bolt设计
功能:

  1. 窗口定义
  2. 刷新窗口
  3. 发送数据

Storm提供接口
1 REST接口

  • REST(Representational State Tansfer)表述性状态转移接口。

2 Thrift接口

  • 由Numbus提供。Thrift是一个基于静态代码生成的跨语言的RPC协议栈实现。

Spout接口

  1. Spout的Ack开关

Bolt接口

  1. Bolt的Ack开关
    • 创建输入流
    • Join
    • 窗口
    • Split

FusionInsight大数据开发---Streaming应用开发的更多相关文章

  1. FusionInsight大数据开发学习总结(1)

    FusionInsight大数据开发 FusionInsight HD是一个大数据全栈商用平台,支持各种通用大数据应用场景. 技能需求 扎实的编程基础 Java/Scala/python/SQL/sh ...

  2. 大数据全栈式开发语言 – Python

    前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做“Fullstack JavaScript”,是关于用JavaScript进行前端.服务器端,甚至数据库(MongoDB) ...

  3. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  4. FusionInsight大数据开发---Hive应用开发

    Hive应用开发 了解Hive的基本架构原理 掌握JDBC客户端开发流程 了解ODBC客户端的开发流程 了解python客户端的开发流程 了解Hcatalog/webHcat开发接口 掌握Hive开发 ...

  5. FusionInsight大数据开发---MapReduce与YARN应用开发

    MapReduce MapReduce的基本定义及过程 搭建开发环境 代码实例及运行程序 MapReduce开发接口介绍 1. MapReduce的基本定义及过程 MapReduce是面向大数据并行处 ...

  6. FusionInsight大数据开发---HDFS应用开发

    HDFS应用开发 HDFS(Dadoop Distributed File System) HDFS概述 高容错性 高吞吐量 大文件存储 HDFS架构包含三部分 Name Node DataNode ...

  7. FusionInsight大数据开发---Redis应用开发

    Redis应用开发 要求: 了解Redis应用场景 掌握Redis二次开发环境搭建 掌握Redis业务开发 Redis简介 Redis是一个基于网络的,高性能key-value内存数据库 Redis根 ...

  8. 一文总结高并发大数据量下MySQL开发规范【军规】

    在互联网公司中,MySQL是使用最多的数据库,那么在并发量大.数据量大的互联网业务中,如果高效的使用MySQL才能保证服务的稳定呢?根据本人多年运维管理经验的总结,梳理了一些核心的开发规范,希望能给大 ...

  9. FusionInsight大数据开发--HBase应用开发

    HBase应用开发 HBase的定义 HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统. 适合于存储大表数据,可以达到实时级别. 利用Hadoop HDFS 作为其文件存储系统,提供实时 ...

随机推荐

  1. 面试官:优化代码中大量的if/else,你有什么方案?

    一个快速迭代的项目,时间久了之后,代码中可能会充斥着大量的if/else,嵌套6.7层,一个函数几百行,简!直!看!死!人! 这个无限循环嵌套,只是总循环的一部分...我已经绕晕在黄桷湾立交 仔细数了 ...

  2. k8s dashboard 解决secret自建证书导致浏览器访问限制

    解决参考: https://www.jianshu.com/p/c6d560d12d50   熟悉dashboard yaml文件所创建的资源 wget https://raw.githubuserc ...

  3. GCN总结

    一.GCN简介 GNN模型主要研究图节点的表示(Graph Embedding),图边结构预测任务和图的分类问题,后两个任务也是基于Graph Embedding展开的.目前论文重点研究网络的可扩展性 ...

  4. 编译rabbitmq c++客户端

    rabbitmq官网地址 rabbitmq客户端 c++版本地址 rabbitmq客户端 c版本地址 下载c++版本:根据编译说明 Pre-requisites boost-1.47.0 or new ...

  5. wordpress调用指定类型post_type的文章

    wordpress很强大,可以添加多种post_type文章类型,假如我们要调用product产品模型的文章要如何操作呢?随ytkah一起来看看吧.我们用'post_type' => 'prod ...

  6. 配置本地 yum 仓库

    配置本地 yum 仓库 # yum 官网 http://yum.baseurl.org/ # yum 手册页 man yum man yum.conf SEE ALSO pkcon (1) yum.c ...

  7. 【java异常】expected at least 1 bean which qualifies as autowire candidate for this depende

    1.查看接口实现类是否加入注解,如service.repository等 2.查看spring配置文件是否自动扫描包    <context:component-scan base-packag ...

  8. 梅尔倒谱系数特征(Mel-frequency cepstral coefficients,MFCC)

    引言 感知实验表明,人耳对于声音信号的感知聚焦于某一特定频率区域内,而非在整个频谱包络中. MFCC特征是应用非常广泛的语音特征. 语音的MFCC特征是基于人耳感知实验得到,将人耳当成特定的滤波器,只 ...

  9. windbg是如何搜索符号文件的?

    来个样例 我的符号目录设置是: 用我们在windows下调试必须用到的ntdll.dll模块来讲下windbg加载符号文件的过程.windbg加载符号文件时,会首先根据配置的符号目录信息,在本地符号目 ...

  10. plv8 + hashids 生成短连接id

    此文章是转载文章的一个学习,稍有改动 环境准备 plv8 环境 version: '3.6' services:  postgres:    image: dalongrong/plv8:2.3.12 ...