Skip to content

Commit

Permalink
✏流处理
Browse files Browse the repository at this point in the history
  • Loading branch information
0xcaffebabe committed Jun 19, 2024
1 parent 0affbfa commit 348fc1c
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion doc/数据技术/流处理.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,20 @@ group 操作:SQL 提供完整的 group 操作灵活性,但只有一种隐式

SQL 通过物化视图提供了一种流处理方式,物化视图是物理上物化为表并随源表变化而持续更新的视图。它使 SQL 能够执行持续查询,实时处理数据更新

## 流连接
## 流式连接

在流式数据处理中,对两个或多个实时数据流进行连接操作,以便将相关联的数据组合在一起。这种连接操作与传统数据库中的连接类似,但它需要处理的是不断到达的实时数据

join 操作可以当做一种特殊的分组操作,分组操作总是消费流并产生表。这意味着连接操作在本质上也是处理流,并且最终输出为表的一部分

与 SQL 模型一致的流式连接模型:

- 内连接(INNER JOIN):只返回两个流中键值匹配的记录。
- 左外连接(LEFT OUTER JOIN):返回左侧流中的所有记录,以及右侧流中键值匹配的记录。如果没有匹配的记录,则右侧记录为空。
- 右外连接(RIGHT OUTER JOIN):返回右侧流中的所有记录,以及左侧流中键值匹配的记录。如果没有匹配的记录,则左侧记录为空。
- 全外连接(FULL OUTER JOIN):返回两个流中的所有记录,不论是否有匹配。没有匹配的记录将用空值填充。
- 半连接(SEMI JOIN):只返回在另一个流中有匹配的左侧流记录。
- 反连接(ANTI JOIN):只返回在另一个流中没有匹配的左侧流记录

```mermaid
---
Expand Down Expand Up @@ -328,6 +341,8 @@ graph LR
连接处理器 --> 新的流
```

窗口化的流式连接:时间窗口用于限制连接操作在一定的时间范围内,以控制内存使用和计算复杂度,但窗口化在流式连接中不是必须的。

## 流与表

- 数据处理管道(包括批处理和流处理)由表、流以及对这些表和流进行的操作组成
Expand Down

0 comments on commit 348fc1c

Please sign in to comment.