Samza框架-----学习笔记
Samza框架-----学习笔记 基本概念: 作业:是对一组输入流进行处理转化成输出流的程序。 分区: Samza的流数据单位既不是Storm中的元组,也不是Spark Streaming中的DStream,而是一条条消息; Samza中的每个流都被分割成一个或多个分区,对于流里的每一个分区而言,都是一个有序的消息序列,后续到达的消息会根据一定规则被追加到其中一个分区里; 任务: 一个作业会被进一步分割成多个任务(Task)来执行,其中,每个任务负责处理作业中的一个分区 分区之间没有定义顺序,从而允许每一个任务独立执行 YARN调度器负责把任务分发给各个机器,最终,一个工作中的多个任务会被分发到多个机器进行分布式并行处理 数据流图: 一个数据流图是由多个作业构成的,其中,图中的每个节点表示包含数据的流,每条边表示数据传输 多个作业串联起来就完成了流式的数据处理流程 由于采用了异步的消息订阅分发机制,不同任务之间可以独立运行 Samza系统架构主要包括: 处理分析过程: 1.Samza客户端需要执行一个Samza作业时,它会向YARN的ResouceManager提交作业请求 2.Res...