• 批处理和流处理


    参考:https://www.jianshu.com/p/5cc07eae1a0c

    1.相关框架

    仅批处理框架:
    
    Apache Hadoop
    
    仅流处理框架:
    
    Apache Storm
    
    Apache Samza
    
    混合框架:
    
    Apache Spark
    
    Apache Flink

    2.批处理系统

    批处理在大数据世界有着悠久的历史。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。

    批处理模式中使用的数据集通常符合下列特征...

    • 有界:批处理数据集代表数据的有限集合

    • 持久:数据通常始终存储在某种类型的持久存储位置中

    • 大量:批处理操作通常是处理极为海量数据集的唯一方法

    批处理非常适合需要访问全套记录才能完成的计算工作。例如在计算总数和平均数时,必须将数据集作为一个整体加以处理,而不能将其视作多条记录的集合。这些操作要求在计算进行过程中数据维持自己的状态。

    需要处理大量数据的任务通常最适合用批处理操作进行处理。无论直接从持久存储设备处理数据集,或首先将数据集载入内存,批处理系统在设计过程中就充分考虑了数据的量,可提供充足的处理资源。由于批处理在应对大量持久数据方面的表现极为出色,因此经常被用于对历史数据进行分析。

    大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合



    3.流处理系统

    流处理系统会对随时进入系统的数据进行计算。相比批处理模式,这是一种截然不同的处理方式。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。

    流处理中的数据集是“无边界”的,这就产生了几个重要的影响:

    • 完整数据集只能代表截至目前已经进入到系统中的数据总量。

    • 工作数据集也许更相关,在特定时间只能代表某个单一数据项。

    • 处理工作是基于事件的,除非明确停止否则没有“尽头”。处理结果立刻可用,并会随着新数据的抵达继续更新。

  • 相关阅读:
    mybatis
    eclipse日志
    最大值与最小值问题
    常见的缓存算法设计策略
    常用垃圾回收算法
    Java中对象的三种状态
    Java中的内存泄漏问题
    单例模式
    约瑟夫环问题
    矩形覆盖问题
  • 原文地址:https://www.cnblogs.com/daysn/p/12144731.html
Copyright © 2020-2023  润新知