Samza框架-----学习笔记

基本概念:

作业:是对一组输入流进行处理转化成输出流的程序。

分区:

Samza的流数据单位既不是Storm中的元组,也不是Spark Streaming中的DStream,而是一条条消息;

Samza中的每个流都被分割成一个或多个分区,对于流里的每一个分区而言,都是一个有序的消息序列,后续到达的消息会根据一定规则被追加到其中一个分区里;

任务:

一个作业会被进一步分割成多个任务(Task)来执行,其中,每个任务负责处理作业中的一个分区

分区之间没有定义顺序,从而允许每一个任务独立执行

YARN调度器负责把任务分发给各个机器,最终,一个工作中的多个任务会被分发到多个机器进行分布式并行处理

数据流图:

一个数据流图是由多个作业构成的,其中,图中的每个节点表示包含数据的流,每条边表示数据传输
多个作业串联起来就完成了流式的数据处理流程

由于采用了异步的消息订阅分发机制,不同任务之间可以独立运行

Samza系统架构主要包括:

处理分析过程:

1.Samza客户端需要执行一个Samza作业时,它会向YARN的ResouceManager提交作业请求
2.ResouceManager通过与NodeManager沟通为该作业分配容器(包含了CPU、内存等资源)来运行Samza ApplicationMaster
3.Samza ApplicationMaster进一步向ResourceManager申请运行任务的容器
4.获得容器后,Samza ApplicationMaster与容器所在的NodeManager沟通,启动该容器,并在其中运行Samza Task Runner

5.Samza Task Runner负责执行具体的Samza任务,完成流数据处理分析;

Storm、Spark Streaming和Samza的应用场景:

从编程的灵活性来讲,Storm是比较理想的选择,它使用Apache Thrift,可以用任何编程语言来编写拓扑结构(Topology)
当需要在一个集群中把流计算和图计算、机器学习、SQL查询分析等进行结合时,可以选择Spark Streaming,因为,在Spark上可以统一部署Spark SQL,Spark Streaming、MLlib,GraphX等组件,提供便捷的一体化编程模型
当有大量的状态需要处理时,比如每个分区都有数十亿个元组,则可以选择Samza。当应用场景需要毫秒级响应时,可以选择Storm和Samza,因为Spark Streaming无法实现毫秒级的流计算;

原文地址http://www.bieryun.com/2453.html

Samza框架-----学习笔记相关推荐

  1. SpringMVC框架--学习笔记(下)

    接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...

  2. SpringMVC框架--学习笔记(上)

    1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...

  3. mybatis框架--学习笔记(下)

    上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...

  4. mybatis框架--学习笔记(上)

    使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...

  5. JavaSE中Map框架学习笔记

    前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...

  6. python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...

  7. php框架费尔康,GitHub - majixian/study-phalcon: phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 以实例程序invo为例(invo程序放在网站根目录下的invo文件夹里,推荐php版本>=5.4) 环境不支持伪静态网址时的配置 第一步: 在app\con ...

  8. [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP

    上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...

  9. Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )

    Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...

最新文章

  1. DataReader方式 获取数据
  2. struc,union,class的内存对齐方式
  3. 链表 - Part I
  4. 三星手机 java_如何在三星手机上安装Java ME应用程序?
  5. 五步学会XMLHttpRequest
  6. Redmi K40系统截图曝光:配备顶级2K屏幕+骁龙870移动平台
  7. Ubuntu14.04安装mysql
  8. java面试 自我介绍_java面试自我介绍
  9. 快易省智:数据中心UPS四大演进方向
  10. 软考(网络工程师)-必备网络知识(笔记二)
  11. Vite图片压缩(vite-plugin-imagemin) imagemin error: XXXX解决办法
  12. 我的编程之路上的点滴记录【一】
  13. nyoj 366 D的小L(数的全排)
  14. 正点原子STM32F407+AD7606+RT-Thread Studio 调试记录
  15. 零基础自学画画的方法有哪些
  16. 2015年计算机大会----顶级盛宴
  17. 【计算机导论调研报告】计算机从业人员的职业道德
  18. EduCoder-Web程序设计基础-html5—结构元素-第3关:figure元素和figcaption元素的应用
  19. 黑马《linux基础编程》学习笔记(从16到20)
  20. 20款前端特效动画及源码

热门文章

  1. zz在Ubuntu中通过源码安装编译安装软件(MySQL篇)
  2. E人E本让中国人多了一种选择
  3. PowerShell 学习笔记 - 2 PS Module
  4. 你是否理解js的Object与Function与原型链
  5. Fiddler使用AutoResponder进行本地文件和线上文件的映射
  6. hiho 第1周 最长回文子串
  7. linux运维实战练习-2015年8月30日课程作业(练习)安排
  8. 使用Hyper-V Server PowerShell
  9. DIY RazorEngine 的程序集生成方式
  10. Sharepoint学习笔记---Debug--使用ULS Log跟踪Solution错误信息