美文网首页工作生活
框架:Hadoop Storm Spark Flink

框架:Hadoop Storm Spark Flink

作者: 咩咩的毛球 | 来源:发表于2019-07-01 17:12 被阅读0次
一、大数据系统的处理框架
  1. 仅批处理框架:Hadoop
    仅流处理框架:Storm、Samza
    混合框架:Spark、Flink
    均 Apache
  2. 框架与引擎

引擎:负责处理数据操作的组件, 框架:承担类似作用的一系列组件。
eg:Hadoop可以看作一种以MapReduce作为默认处理引擎的处理框架,spark 可以纳入 hadoop 取代 MR


二、批处理与流处理
  1. 批处理系统:
    • 当一条数据被处理完成后,序列化到缓存中,不立刻通过网络传输到下一个节点。当缓存写满,就持久化到本地硬盘上,当所有数据都被处理完成后,再将处理后的数据通过网络传输到下一个节点。
    • 大容量静态数据,数据集有边界
    • 极海量数据集的唯一处理方法
  • eg:Hadoop
    (1)HDFS
    (2)YARN:Yet Another Resource Negotiator
    (3)MapReduce:Hadoop 的原生批处理引擎
    • 基本处理过程包括:
      (1)从 HDFS 文件系统读取数据集
      (2)将数据集拆分成小块并分配给所有可用节点
      (3)针对每个节点上的数据子集进行计算(计算的中间态结果会重新写入 HDFS)
      (4)重新分配中间态结果并按照键进行分组
      (5)通过对每个节点计算的结果进行汇总和组合对每个键的值进行“Reducing”
      (6)将计算而来的最终结果重新写入 HDFS
    • 缺点:严重依赖持久存储,每个任务需要多次执行读取和写入操作,速度相对较慢
    • 优点:磁盘空间丰富,意味着 MapReduce 可以处理非常海量的数据集。通过非常低成本的组件即可搭建完整功能的 Hadoop 集群。具备极高的缩放潜力,生产环境中曾经出现过包含数万个节点的应用。
  1. 流处理系统:
    • 当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理。
    • 实时,通过系统传输的每个数据项,数据集无边界
  • eg 1:Storm

    • 为实现严格的“一次处理”,Trident,不使用 Trident 的 Storm 通常称之为Core Storm,通常不使用
    • 优点:近实时处理领域的最佳解决方案,延迟极低
    • 缺点:无法进行批处理,使用这些能力需要其他软件。如果要求严格的一次处理,使用 Trident,延迟增大,使用其他流处理框架也许更适合。
  • eg 2:Samza

    • 与 Kafka 消息系统绑定
    • 适合已经具备或易于实现 Hadoop 和 Kafka 的环境
  1. 混合处理系统:流+批
    • 主要是 spark 和 flink 实现
    • 功能重点在于两种不同处理模式如何进行统一,以及要对固定、不固定数据集之间关系的假设
  • eg 1:Spark

    • 一种包含流处理能力的下一代批处理框架
    • 可作为独立集群部署(需要相应存储层的配合),或可与 Hadoop 集成并取代 MapReduce 引擎
    • 批处理模式:与 MapReduce 不同,Spark 的数据处理工作全部在内存中进行,最终结果持久存储。DAG调度: Directed Acyclic Graph(有向无环图)。RDD 模型:Resilient Distributed Dataset(弹性分布式数据集)
    • 流处理模式:
    • 由 Spark Streaming 实现,微批(Micro-batch)
  • eg 2:Flink

    • 可以处理批处理任务的流处理框架
    • 流处理为先的方法也叫做 Kappa 架构(与之相对,Lambda 架构,使用批处理作为主要处理方法)
    • 流处理模型:在处理传入数据时会将每一项视作真正的数据流
    • 批处理模型:对流处理模型的扩展,优化工作负载,分解批处理任务

参考文章:
https://www.infoq.cn/article/hadoop-storm-samza-spark-flink
https://www.digitalocean.com/community/tutorials/hadoop-storm-samza-spark-and-flink-big-data-frameworks-compared

相关文章

网友评论

    本文标题:框架:Hadoop Storm Spark Flink

    本文链接:https://www.haomeiwen.com/subject/yoggcctx.html