美文网首页工作生活
框架: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