zoukankan      html  css  js  c++  java
  • 什么是Structed Streaming?

    概论

    结构化流式查询使用微批处理引擎进行处理,该引擎将数据流作为一系列小批量作业处理,从而实现低至100毫秒的端到端延迟和完全一次的容错保证。但是,自Spark 2.3以来,我们引入了一种称为连续处理的新型低延迟处理模式,它可以实现低至1毫秒的端到端延迟,并且具有至少一次的保证。

    编程模型

    结构化流中的关键思想是将实时数据流视为连续追加的表。这导致新的流处理模型非常类似于批处理模型。您将流式计算表示为静态表上的标准批处理查询,Spark将其作为无界输入表上的增量查询运行。

    基本概念

    将输入数据流视为“输入表”。到达流的每个数据项都像一个新行被附加到输入表。

    对输入的查询将生成“结果表”。每个触发间隔(例如,每1秒),新行将附加到输入表,最终更新结果表。每当结果表更新时,我们都希望将更改的结果行写入外部接收器。

    “输出”定义为写入外部存储器的内容。输出可以以不同的模式定义:

    (1)完全模式(Complete Mode)

      整个更新的结果表(Result Table)将被写入到外部存储。这取决于外部连接决定如何操作整个表的写入。

    (2)追加模式(Append Mode)

      只有从上一次触发后追加到结果表中新行会被写入到外部存储。适用于已经存在结果表中的行不期望被改变的查询。

    (3)更新模式(Update Mode)

       只有从上一次触发后在结果表中更新的行将会写入外部存储(Spark 2.1.1之后才可用)。这种模式不同于之前的完全模式,它仅仅输出上一次触发后改变的行。如果查询中不包含聚合,这种模式与追加模式等价的。

  • 相关阅读:
    CF732 F Tourist Reform——边双连通分量
    CF36 E Two Paths——欧拉(回)路
    最小生成树()
    Bellman-Ford算法
    SPFA算法
    归并排序(Merge_Sort)
    并查集
    int(3)与int(11)的区别
    mysql应该看的blog
    mysql建立索引
  • 原文地址:https://www.cnblogs.com/7920284109q/p/13625647.html
Copyright © 2011-2022 走看看