架构师训练营 Week13 总结
学习Spark框架;
Storm、Spark Streaming、Flink等流计算框架;
了解大数据可视化的分析指标;
PageRank算法、KNN分类算法、贝叶斯分类算法、K-means聚类算法、推荐引擎算法等大数据算法;
了解机器学习系统架构。
流计算 Storm和Flink
Nimbus:负责资源分配和任务调度。
Supervisor:负责接受Nimbus分配的任务,启动和停止属于自己管理的Worker进程。
Worker:运行具体处理组件逻辑的进程。
Task: Worker中每一个Spout/Bolt的线程称为一个Task。
Topology: Storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构。
Spout: 在一个Topology中产生源数据流的组件。通常情况下Spout会从外部数据源中读取数据,然后转换为Topology内部的源数据。Spout是一个主动的角色,其接口中有个nextTuple()函数,Storm框架会不停地调用此函数,用户只要在其中生成源数据即可。
Bolt: 在一个Topology中接受数据然后执行处理的组件。Bolt可以执行过滤、函数操作、合并、写数据库等任何操作。Bolt是一个被动的角色,其接口中有个execute(Tuple input)函数,在接受到消息后会调用此函数,用户可以在其中执行自己想要的操作。
Tuple:一次消息传递的基本单元。本来应该是一个key-va lu e的map,但是由于各个组件间传递的tuple
的字段名称已经事先定义好,所以tuple中只要按序填入各个value就行了,所以就是一个value list.
Stream: 源源不断传递的tuple就组成了stream
评论