成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flink 并行流中 watermark 機制無法觸發窗口計算的原因分析

開發
Watermark 是用于處理亂序事件的。流處理從事件產生,到流經source,再到operator,中間是有一個過程和時間的。

場景描述

Kafka Source 接收并處理來自 Kafka 的點擊數據(指定事件時間),開一個滾動窗口(Tumble Windows) 每 10 秒統計一次 pv 并將結果輸出到 Print Sink 中。

CREATE TABLE sourceTable (
message STRING,
time_ltz AS TO_TIMESTAMP_LTZ(CAST(JSON_VALUE(JSON_VALUE(message, '$.request_body'),'$.clickTime') AS INTEGER),0),
WATERMARK FOR time_ltz AS time_ltz - INTERVAL '3' SECOND
) WITH (
'connector' = 'kafka',
'topic' = 'matrix_json_click_log_test',
'properties.bootstrap.servers' = 'xxxxxxxxx:9527',
'properties.group.id' = 'flinkTestGroup',
'scan.startup.mode' = 'latest-offset',
'format' = 'json'
);

CREATE TABLE sinkTable (
window_start TIMESTAMP(3),
window_end TIMESTAMP(3),
click_pv BIGINT
)
WITH (
'connector' = 'print'
);

INSERT INTO sinkTable(
window_start,
window_end,
click_pv
)
select window_start,window_end,COUNT(*)
FROM TABLE (
TUMBLE( TABLE sourceTable, DESCRIPTOR(time_ltz) , INTERVAL '10' SECOND))
GROUP BY window_start, window_end;

運行以上的 FlinkSQL 后觀察發現數據流正常,但是一直沒能觸發窗口計算,沒有結果輸出。

watermark

watermark 是用于處理亂序事件的。流處理從事件產生,到流經source,再到operator,中間是有一個過程和時間的。雖然大部分情況下流到 operator 的數據都是按照事件產生的時間順序來的,但是也不排除由于網絡等原因導致部分數據延遲到達,產生亂序。對于遲到的數據我們又不能無限期地等待下去,因此需要有個衡量事件時間進度的機制來保證一個特定的時間后必須觸發 window 進行計算,這個特別的機制就是 watermark。

并行流中的 watermark

在 多并行度的情況下,source 的每個 sub task 通常獨立生成水印。watermark 通過 operator 時會推進 operators 處的當前 event time,同時 operators 會為下游生成一個新的 watermark。多并行度的情況下 watermark對齊會取所有 channel 最小的 watermark。

并行流中的 watermark

原因分析

由于目標 Topic 只有一個分區而 source 并行度設置為 2 ,這導致了只有一個線程可以處理該分區而另一個線程獲取不到數據,因此一直沒能獲取最小的 watermark。最終導致一直無法觸發窗口計算。

解決方案

可通過手動設置并行度來解決,保證 source 并行度 <= 目標 Topic Partition 分區數。這里將 source 并行度設置為 1 之后便可正常輸出結果。

并行度設置為 1

正常輸出

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2024-04-09 07:50:59

Flink語義Watermark

2022-02-13 16:46:47

Flink代碼窗口

2018-10-09 10:55:52

Apache FlinWatermark流計算

2024-03-27 10:08:05

Flink觸發器Trigger

2021-11-02 06:58:55

FlinkWindow機制

2022-07-13 13:03:29

流計算亂序

2024-02-27 08:05:32

Flink分區機制數據傳輸

2021-07-29 10:47:51

Flink on Ze流計算

2017-11-20 13:54:55

FlinkStorm框架

2017-11-21 15:50:09

FlinkStorm性能

2013-12-18 17:29:10

多核并行

2022-01-14 07:56:38

Checkpoint機制Flink

2010-04-30 13:44:36

Oracle Redo

2021-08-09 19:01:36

并行場景程序

2010-03-08 09:17:13

F#異步

2023-03-22 18:34:30

Flink調度部署

2010-08-06 09:56:06

Flex事件機制

2010-08-13 14:05:24

Flex事件機制

2022-02-09 15:23:41

大數據流計算Spark

2010-09-06 13:19:35

DB2 9.5
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕av在线一二三区 | 亚洲精品一区二区三区四区高清 | 欧美一区二区三区小说 | 久久99精品久久久久久国产越南 | 日韩精品一区二区三区四区 | 国产成人精品一区二区三区在线 | 精品视频一区二区 | 久久久高清 | 国产区在线观看 | www.色.com| 亚洲欧美在线一区 | 在线精品亚洲欧美日韩国产 | 国产精品视频一二三区 | 狠狠操狠狠干 | 精国产品一区二区三区四季综 | 精品久久久久国产 | 国产精品99久久久久久www | 亚洲一区网站 | 99热这里只有精品8 激情毛片 | 成年男女免费视频网站 | 国产一区二区三区在线看 | 久久精品亚洲精品 | 亚洲乱码国产乱码精品精98午夜 | 亚洲精品乱码久久久久久9色 | 二区中文字幕 | 国产小u女发育末成年 | 91久久综合| 久久午夜精品 | 7777在线视频 | 丁香色婷婷 | 久久ww| 精品久久久久久久久久久久 | 日韩a在线 | 一区二区三区小视频 | 最新中文字幕在线 | 精品久久中文字幕 | 国产精品久久久久久久久久久久 | 日韩av免费在线观看 | 久久国产精品无码网站 | 成人欧美一区二区 | 国产高清在线精品一区二区三区 |