最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL Flink Watermark實(shí)現(xiàn)事件時(shí)間處理的關(guān)鍵技術(shù)

 更新時(shí)間:2023年05月09日 09:44:46   作者:奔跑如風(fēng)  
Flink Watermark是Flink流處理框架中實(shí)現(xiàn)事件時(shí)間處理的關(guān)鍵技術(shù)之一。它是通過(guò)一種機(jī)制來(lái)解決數(shù)據(jù)亂序和延遲的問(wèn)題,使得Flink可以在處理遲到的數(shù)據(jù)時(shí)保證結(jié)果的準(zhǔn)確性。Flink Watermark可以在數(shù)據(jù)流中插入一個(gè)時(shí)間戳,將數(shù)據(jù)流轉(zhuǎn)化為具有時(shí)間維度的數(shù)據(jù)集合

1.概述

生活中有種場(chǎng)景:

車輛進(jìn)入隧道,信號(hào)不好,出了隧道后,信號(hào)就正常了。

正常情況下,車輛進(jìn)入隧道后,如果車輛正常,沒(méi)有事故,會(huì)正常駛出隧道。

在正常的隧道行駛過(guò)程中,可能會(huì)因?yàn)樾盘?hào)的原因,導(dǎo)致數(shù)據(jù)沒(méi)有像信號(hào)正常的時(shí)候那么快到達(dá)。

也就是說(shuō),這種情況下,數(shù)據(jù)出現(xiàn)了延遲。我們把這種延遲數(shù)據(jù)稱之為遲到數(shù)據(jù)。

生活中,這種場(chǎng)景非常多,比如:車輛進(jìn)入地下車庫(kù),手機(jī)欠費(fèi),網(wǎng)絡(luò)抖動(dòng)等。這都屬于生活的正常情況。無(wú)法避免。

程序中,一般不會(huì)允許數(shù)據(jù)丟失。所以,我們程序會(huì)推出一些機(jī)制來(lái)保證遲到數(shù)據(jù)被正常處理。

Watermark就是用來(lái)保證正常遲到的數(shù)據(jù)被正確的處理。

Watermark,也叫水印,或者是水位線。用來(lái)處理一定程度下的延遲數(shù)據(jù)。

2.SQL案例-演示W(wǎng)atermark為零的情況

#1.創(chuàng)建表
CREATE TABLE source_table ( 
 user_id STRING, 
 price BIGINT,
 `timestamp` bigint,
 row_time AS TO_TIMESTAMP(FROM_UNIXTIME(`timestamp`)),
 watermark for row_time as row_time - interval '0' second
) WITH (
  'connector' = 'socket',
  'hostname' = 'node1', 
  'port' = '9999',
  'format' = 'csv'
);
#2.數(shù)據(jù)查詢SQL
select 
user_id,
count(*) as pv,
sum(price) as sum_price,
UNIX_TIMESTAMP(CAST(tumble_start(row_time, interval '5' second) AS STRING)) * 1000  as window_start,
UNIX_TIMESTAMP(CAST(tumble_end(row_time, interval '5' second) AS STRING)) * 1000  as window_end
from source_table
group by
    user_id,
    tumble(row_time, interval '5' second);

3.SQL案例-演示W(wǎng)atermark不為零的情況

Watermark不為零,就有可能是兩種情況:

  • 小于0,窗口會(huì)提前觸發(fā)計(jì)算,這種情況在實(shí)際應(yīng)用不存在,所以這里也不討論
  • 大于0,窗口會(huì)延遲觸發(fā)計(jì)算,延遲的時(shí)間就是我們?cè)O(shè)置的Watermark的值

這里,我們主要是討論Watermark>0的情況。

#1.創(chuàng)建表
CREATE TABLE source_table ( 
 user_id STRING, 
 price BIGINT,
 `timestamp` bigint,
 row_time AS TO_TIMESTAMP(FROM_UNIXTIME(`timestamp`)),
 watermark for row_time as row_time - interval '2' second
) WITH (
  'connector' = 'socket',
  'hostname' = 'node1', 
  'port' = '9999',
  'format' = 'csv'
);
#2.Watermark的解釋
WATERMARK FOR ts AS ts - INTERVAL '2' SECOND
這里的2,表示,數(shù)據(jù)允許延遲2秒鐘到達(dá),窗口會(huì)在(正常結(jié)束+延遲時(shí)間)后觸發(fā)計(jì)算
#3.查詢SQL
select 
user_id,
count(*) as pv,
sum(price) as sum_price,
UNIX_TIMESTAMP(CAST(tumble_start(row_time, interval '5' second) AS STRING)) * 1000  as window_start,
UNIX_TIMESTAMP(CAST(tumble_end(row_time, interval '5' second) AS STRING)) * 1000  as window_end
from source_table
group by
    user_id,
    tumble(row_time, interval '5' second);

到此這篇關(guān)于MySQL Flink Watermark實(shí)現(xiàn)事件時(shí)間處理的關(guān)鍵技術(shù)的文章就介紹到這了,更多相關(guān)MySQL Flink Watermark內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在windows環(huán)境下配置并隨意切換兩種mysql版本的方法

    在windows環(huán)境下配置并隨意切換兩種mysql版本的方法

    這篇文章主要介紹了mysql:如何在windows環(huán)境下配置并隨意切換兩種mysql版本,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 簡(jiǎn)單談?wù)凪ysql索引與redis跳表

    簡(jiǎn)單談?wù)凪ysql索引與redis跳表

    這篇文章主要給大家介紹了Mysql索引與redis跳表的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql和redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Centos MySQL 5.7安裝、升級(jí)教程

    Centos MySQL 5.7安裝、升級(jí)教程

    這篇文章主要為大家詳細(xì)介紹了Centos MySQL 5.7安裝、升級(jí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL架構(gòu)體系知識(shí)點(diǎn)總結(jié)

    MySQL架構(gòu)體系知識(shí)點(diǎn)總結(jié)

    在本篇內(nèi)容里我們給大家整理了關(guān)于MySQL架構(gòu)體系的相關(guān)知識(shí)點(diǎn)內(nèi)容以及相關(guān)實(shí)例,需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • MYSQL常見(jiàn)出錯(cuò)代碼對(duì)照

    MYSQL常見(jiàn)出錯(cuò)代碼對(duì)照

    MYSQL常見(jiàn)出錯(cuò)代碼對(duì)照...
    2007-07-07
  • SQL實(shí)戰(zhàn)演練之網(wǎng)上商城數(shù)據(jù)庫(kù)用戶信息數(shù)據(jù)操作

    SQL實(shí)戰(zhàn)演練之網(wǎng)上商城數(shù)據(jù)庫(kù)用戶信息數(shù)據(jù)操作

    一直認(rèn)為,扎實(shí)的SQL功底是一名數(shù)據(jù)分析師的安身立命之本,甚至可以稱得上是所有數(shù)據(jù)從業(yè)者的基本功。當(dāng)然,這里的SQL絕不單單是寫(xiě)幾條查詢語(yǔ)句那么簡(jiǎn)單,接下來(lái)請(qǐng)跟著小編通過(guò)案例項(xiàng)目進(jìn)一步提高SQL的能力吧
    2021-10-10
  • 深入分析MySQL 的備份和恢復(fù)機(jī)制

    深入分析MySQL 的備份和恢復(fù)機(jī)制

    備份對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō)是相當(dāng)重要的工作。如果數(shù)據(jù)庫(kù)在使用過(guò)程中出現(xiàn)了問(wèn)題,比如系統(tǒng)崩潰、硬件故障或錯(cuò)誤的刪除了數(shù)據(jù)。這時(shí),如果我們進(jìn)行了數(shù)據(jù)備份,就能比較方便的使數(shù)據(jù)庫(kù)恢復(fù)工作,并使我們的數(shù)據(jù)損失到最小。下面我們來(lái)詳細(xì)探討下數(shù)據(jù)庫(kù)的備份與恢復(fù)。
    2016-11-11
  • MySQL優(yōu)化之Index Merge的使用

    MySQL優(yōu)化之Index Merge的使用

    本文主要介紹了MySQL優(yōu)化之Index Merge的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 如何捕獲和記錄SQL Server中發(fā)生的死鎖

    如何捕獲和記錄SQL Server中發(fā)生的死鎖

    本篇文章是對(duì)如何捕獲和記錄SQL Server中發(fā)生的死鎖進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql截取DateTime字段的日期值可以使用DATE_FORMAT來(lái)格式化,使用方法如下
    2014-08-08

最新評(píng)論

盐池县| 织金县| 天镇县| 香港| 固始县| 磐安县| 呼伦贝尔市| 平远县| 壤塘县| 清新县| 壤塘县| 连江县| 乌鲁木齐县| 岐山县| 乐安县| 东光县| 富阳市| 南江县| 普格县| 凌云县| 北宁市| 甘洛县| 罗定市| 昭觉县| 白玉县| 博爱县| 康保县| 渭源县| 略阳县| 衡南县| 东港市| 威信县| 崇仁县| 西乌| 福贡县| 保亭| 甘泉县| 会东县| 万全县| 洛川县| 内丘县|