博客
关于我
【笔记】大数据技术之流计算Storm(十)
阅读量:324 次
发布时间:2019-03-04

本文共 1337 字,大约阅读时间需要 4 分钟。

流计算

  • 流数据:数据以大量、快速、时变为主要特点
    • 需要实时的处理
    • 流式数据->点击流数据->实时跟踪分析->迅速给出相关分析
    • 特征:快速,无尽、来源众多、数据量大、注重数据整体价值、数据颠倒不完整等
  • 静态数据:例如数据仓库中的数据
  • 动态数据:(流数据)

概念

  • 流计算:实时获取来自不同数据源的海量数据经过实时分析处理获取有价值信息
  • 数据的价值随时间的推迟而降低
  • 系统要求
    • 高性能
    • 海量式
    • 实时性
    • 分布式
    • 易用性
    • 可靠性
  • 开源六计算框架
    • Strom
    • S4
    • Dstream

处理流程

  • 数据实时采集->数据实时计算->实时查询服务
  • 分布式日志采集:
    • scribe
    • kafka
    • flume
  • 采集系统基本框架
    • Agent:主动采集数据,把数据推出送到Collector
    • Collector:接受多个Agent数据并进行有序可靠高性能的转发
    • Store:存储Collector转发过来的数据
  • 数据实时计算是对采集数据进行实时分析和计算并反馈实时结果

应用

  • 传统的应用分析:用户主动发起查询,延时导致很难保证结果实时性
  • 实时交通
  • 广告推送

Storm

  • 支持多种编程语言
  • 方便于现有的数据库产品
  • 特点
    • 整合性:
    • 具有简易API
    • 可扩展性
    • 可靠的消息处理
    • 支持各种编程语言
    • 快速部署
    • 免费开源

设计思想

  • Stream
    • 流数据Stream描述成为一个无界的Tuple序列
    • Tuple:Key-Value的Map
  • Spout
    • Stream的源头
    • 从外部数据源读取数据,然后封装成Tuple发送到Stream
  • Bolt:处理Tuple,创建新Stream(被动)
    • 将Streams的状态过程抽象为Bolt
    • 处理Tuple、处理后的Tuple作为新的Stream发送给其他Bolt
    • 可以执行过滤操作、函数操作、Join、操作数据等任何操作
  • Topology
    • Spout->Bolt->Bolt<-Bolt<-Spout->Bolt->Bolt
    • 图,比如描述上面的关系
  • 分组方式
    • ShuffleGrouping:随机分组,随即分发Stream中Tuple,保证每个Bolt的Task接受Tuple数据大量大致相同
    • FieldsGrouping:按照字段分组
    • GlobalGrouping:全局分组,所有Tuple都发送到tongyigeTask
    • DirectGrouping:直接分组,直接指定由某个Task来执行Tuple的处理
    • NonGrouping:不分组
    • AllGroup:广播发送

框架设计

Storm
  • 与Hadoop架构组件对应关系

    在这里插入图片描述

  • Topology将持续处理消息(直到人为终止)而MapReduce在完成计算任务后会停止

  • 采用"Master-Worker"结点

  • 架构示意图

  • Nimbus->Zookeeper->Supervisor{Worker进程}

  • Storm工作流程

    在这里插入图片描述

Spark Streaming
  • 批处理的实时计算框架
  • 独特的RDD设计方式
  • 可以整合多种数据源:Kafka…
  • 对较短时间的时间片进行批处理
  • 离散化数据流,模拟连续不断的数据流
Samze
  • 作业:输入流进行处理转化
  • 分区:是一条条消息,每一个流都会被分成多个分区

三种框架对比

  • Samza

    在这里插入图片描述

  • 具体

    在这里插入图片描述

实际操作

转载地址:http://veoh.baihongyu.com/

你可能感兴趣的文章
(JAVA小白必看)小白IDEA的安装与配置
查看>>
SpringMVC模板代码
查看>>
C++ Primer学习笔记——第2章 变量和基本数据类型
查看>>
5.11 TEST1
查看>>
6.14 阶段考试
查看>>
牛客IOI周赛19-普及组
查看>>
2020牛客NOIP赛前集训营-普及组(第四、五场)
查看>>
uni-app请求头中携带token
查看>>
常用的 Git 命令和小技巧(1)
查看>>
vue中接收后台的图片验证码并显示
查看>>
springboot入门(1)---整合MyBatis
查看>>
Vue入门学习笔记(1)
查看>>
前端入门经验——页面布局
查看>>
ECharts——双向柱状图
查看>>
Vue——引进bootstrap
查看>>
Vue——引进ivew
查看>>
趣谈win10常用快捷键
查看>>
趣谈文件扩展名和隐藏文件
查看>>
追梦App系列博客——第五次例会总结
查看>>
大二数据结构(图的深度遍历的 非递归算法)
查看>>