欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:大數(shù)據(jù) FlinkSql概述

柚子快報激活碼778899分享:大數(shù)據(jù) FlinkSql概述

http://yzkb.51969.com/

先自我介紹一下,小編浙江大學畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7

深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術停滯不前!

因此收集整理了一份《2024年最新大數(shù)據(jù)全套學習資料》,初衷也很簡單,就是希望能夠幫助到想自學提升又不知道該從何學起的朋友。

既有適合小白學習的零基礎資料,也有適合3年以上經驗的小伙伴深入學習提升的進階課程,涵蓋了95%以上大數(shù)據(jù)知識點,真正體系化!

由于文件比較多,這里只是將部分目錄截圖出來,全套包含大廠面經、學習筆記、源碼講義、實戰(zhàn)項目、大綱路線、講解視頻,并且后續(xù)會持續(xù)更新

如果你需要這些資料,可以添加V獲?。簐ip204888 (備注大數(shù)據(jù))

正文

動態(tài)表(Dynamic Tables) 動態(tài)表是Flink在Table API和SQL中的核心概念,它為流數(shù)據(jù)處理提供了表和SQL支持。我們所熟悉的表一般用來做批處理,面向的是固定的數(shù)據(jù)集,可以認為是“靜態(tài)表”;而動態(tài)表則完全不同,它里面的數(shù)據(jù)會隨時間變化。

持續(xù)查詢(Continuous Query) 動態(tài)表可以像靜態(tài)的批處理表一樣進行查詢操作。由于數(shù)據(jù)在不斷變化,因此基于它定義的SQL查詢也不可能執(zhí)行一次就得到最終結果。這樣一來,我們對動態(tài)表的查詢也就永遠不會停止,一直在隨著新數(shù)據(jù)的到來而繼續(xù)執(zhí)行。這樣的查詢就被稱作“持續(xù)查詢”(Continuous Query)。對動態(tài)表定義的查詢操作,都是持續(xù)查詢;而持續(xù)查詢的結果也會是一個動態(tài)表。

由于每次數(shù)據(jù)到來都會觸發(fā)查詢操作,因此可以認為一次查詢面對的數(shù)據(jù)集,就是當前輸入動態(tài)表中收到的所有數(shù)據(jù)。這相當于是對輸入動態(tài)表做了一個“快照”(snapshot),當作有限數(shù)據(jù)集進行批處理;流式數(shù)據(jù)的到來會觸發(fā)連續(xù)不斷的快照查詢,像動畫一樣連貫起來,就構成了“持續(xù)查詢”。

持續(xù)查詢的步驟如下: (1)流(stream)被轉換為動態(tài)表(dynamic table); (2)對動態(tài)表進行持續(xù)查詢(continuous query),生成新的動態(tài)表; (3)生成的動態(tài)表被轉換成流。 這樣,只要API將流和動態(tài)表的轉換封裝起來,我們就可以直接在數(shù)據(jù)流上執(zhí)行SQL查詢,用處理表的方式來做流處理了。

2.將流轉換成動態(tài)表

如果把流看作一張表,那么流中每個數(shù)據(jù)的到來,都應該看作是對表的一次插入(Insert)操作,會在表的末尾添加一行數(shù)據(jù)。因為流是連續(xù)不斷的,而且之前的輸出結果無法改變、只能在后面追加;所以我們其實是通過一個只有插入操作(insert-only)的更新日志(changelog)流,來構建一個表。

更新(Update)查詢

Table urlCountTable = tableEnv

.sqlQuery("SELECT user, COUNT(url) as cnt FROM EventTable GROUP BY user");

當原始動態(tài)表不停地插入新的數(shù)據(jù)時,查詢得到的urlCountTable會持續(xù)地進行更改。由于count數(shù)量可能會疊加增長,因此這里的更改操作可以是簡單的插入(Insert),也可以是對之前數(shù)據(jù)的更新(Update)。這種持續(xù)查詢被稱為更新查詢(Update Query),更新查詢得到的結果表如果想要轉換成DataStream,必須調用toChangelogStream()方法。 追加(Append)查詢 上面的例子中,查詢過程用到了分組聚合,結果表中就會產生更新操作。如果我們執(zhí)行一個簡單的條件查詢,結果表中就會像原始表EventTable一樣,只有插入(Insert)操作了。

Table aliceVisitTable = tableEnv

.sqlQuery("SELECT url, user FROM EventTable WHERE user = 'Cary'");

這樣的持續(xù)查詢,就被稱為追加查詢(Append Query),它定義的結果表的更新日志(changelog)流中只有INSERT操作。

由于窗口的統(tǒng)計結果是一次性寫入結果表的,所以結果表的更新日志流中只會包含插入INSERT操作,而沒有更新UPDATE操作。所以這里的持續(xù)查詢,依然是一個追加(Append)查詢。結果表result如果轉換成DataStream,可以直接調用toDataStream()方法。

3.將動態(tài)表轉換為流

與關系型數(shù)據(jù)庫中的表一樣,動態(tài)表也可以通過插入(Insert)、更新(Update)和刪除(Delete)操作,進行持續(xù)的更改。將動態(tài)表轉換為流或將其寫入外部系統(tǒng)時,就需要對這些更改操作進行編碼,通過發(fā)送編碼消息的方式告訴外部系統(tǒng)要執(zhí)行的操作。在Flink中,Table API和SQL支持三種編碼方式:

? 僅追加(Append-only)流 僅通過插入(Insert)更改來修改的動態(tài)表,可以直接轉換為“僅追加”流。這個流中發(fā)出的數(shù)據(jù),其實就是動態(tài)表中新增的每一行。

? 撤回(Retract)流 撤回流是包含兩類消息的流,添加(add)消息和撤回(retract)消息。 具體的編碼規(guī)則是:INSERT插入操作編碼為add消息;DELETE刪除操作編碼為retract消息;而UPDATE更新操作則編碼為被更改行的retract消息,和更新后行(新行)的add消息。這樣,我們可以通過編碼后的消息指明所有的增刪改操作,一個動態(tài)表就可以轉換為撤回流了。

通過對流數(shù)據(jù)打標簽的方式,對數(shù)據(jù)進行規(guī)劃,讓程序識別該數(shù)據(jù)的可用性。

? 更新插入(Upsert)流 更新插入流中只包含兩種類型的消息:更新插入(upsert)消息和刪除(delete)消息。 所謂的“upsert”其實是“update”和“insert”的合成詞,所以對于更新插入流來說,INSERT插入操作和UPDATE更新操作,統(tǒng)一被編碼為upsert消息;而DELETE刪除操作則被編碼為delete消息。 需要注意的是,在代碼里將動態(tài)表轉換為DataStream時,只支持僅追加(append-only)和撤回(retract)流,我們調用toChangelogStream()得到的其實就是撤回流。而連接到外部系統(tǒng)時,則可以支持不同的編碼方法,這取決于外部系統(tǒng)本身的特性。

二、時間屬性

基于時間的操作(比如時間窗口),需要定義相關的時間語義和時間數(shù)據(jù)來源的信息。在Table API和SQL中,會給表單獨提供一個邏輯上的時間字段,專門用來在表處理程序中指示時間。

所以所謂的時間屬性(time attributes),其實就是每個表模式結構(schema)的一部分。它可以在創(chuàng)建表的DDL里直接定義為一個字段,也可以在DataStream轉換成表時定義。一旦定義了時間屬性,它就可以作為一個普通字段引用,并且可以在基于時間的操作中使用。

時間屬性的數(shù)據(jù)類型必須為TIMESTAMP,它的行為類似于常規(guī)時間戳,可以直接訪問并且進行計算。

按照時間語義的不同,可以把時間屬性的定義分成事件時間(event time)和處理時間(processing time)兩種情況。

1.事件時間

事件時間屬性可以在創(chuàng)建表DDL中定義,增加一個字段,通過WATERMARK語句來定義事件時間屬性。具體定義方式如下:

CREATE TABLE EventTable(

user STRING,

url STRING,

ts TIMESTAMP(3), //TIMESTAMP(3)精確到毫秒級

WATERMARK FOR ts AS ts - INTERVAL '5' SECOND

) WITH (

...

);

網上學習資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術提升。

需要這份系統(tǒng)化的資料的朋友,可以添加V獲取:vip204888 (備注大數(shù)據(jù))

一個人可以走的很快,但一群人才能走的更遠!不論你是正從事IT行業(yè)的老鳥或是對IT行業(yè)感興趣的新人,都歡迎加入我們的的圈子(技術交流、學習資源、職場吐槽、大廠內推、面試輔導),讓我們一起學習成長!

88 (備注大數(shù)據(jù))** [外鏈圖片轉存中…(img-DXGWlLtX-1713123232373)]

一個人可以走的很快,但一群人才能走的更遠!不論你是正從事IT行業(yè)的老鳥或是對IT行業(yè)感興趣的新人,都歡迎加入我們的的圈子(技術交流、學習資源、職場吐槽、大廠內推、面試輔導),讓我們一起學習成長!

柚子快報激活碼778899分享:大數(shù)據(jù) FlinkSql概述

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內容

本文內容根據(jù)網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18880940.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄