日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flink-Table StreamTableEnvironment基础知识

發布時間:2024/9/27 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flink-Table StreamTableEnvironment基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉自:https://www.pianshen.com/article/82411282368/

StreamTableEnvironment用于流計算場景,流計算的對象是DataStream。相比 TableEnvironment,StreamTableEnvironment 提供了 DataStream 和 Table 之間相互轉換的接口,如果用戶的程序除了使用 Table API & SQL 編寫外,還需要使用到 DataStream API,則需要使用 StreamTableEnvironment。

一、數據流上的關系查詢

Relational Algebra / SQLStream Processing
關系(或表)是有界(多)元組集流是元組的無限序列
對批處理數據(如關系數據庫中的表)執行的查詢可以訪問完整的輸入數據流式查詢在啟動時無法訪問所有數據,必須“等待”數據流式輸入
批處理查詢在生成固定大小的結果后終止流式查詢根據接收到的記錄不斷更新其結果,但從未完成

盡管存在這些差異,使用關系查詢和SQL處理流并非不可能。高級關系數據庫系統提供了一個稱為物化視圖的特性。物化視圖被定義為SQL查詢,就像普通的虛擬視圖一樣。與虛擬視圖不同,物化視圖緩存查詢的結果,這樣在訪問視圖時就不需要計算查詢。緩存的一個常見挑戰是防止緩存提供過時的結果。物化視圖在其定義查詢的基表被修改時變得過時。Eager View Maintenance是一種在更新基表后立即更新物化視圖的技術。

如果我們考慮以下幾點,那么Eager View Maintenance和對流的SQL查詢之間的聯系將變得顯而易見:

  • 1、數據庫表是INSERT,UPDATE和DELETEDML語句的一個結果流,通常被稱為更新日志流。
  • 2、物化視圖定義為SQL查詢。為了更新視圖,查詢會持續處理視圖基本關系的更改日志流。
  • 3、物化視圖是流式SQL查詢的結果。

二、動態表是Flink對流數據的表API和SQL支持的核心概念。

與表示批處理數據的靜態表不同,動態表是隨時間變化的。它們可以像靜態批處理表一樣進行查詢。查詢動態表會產生連續查詢。連續查詢永遠不會終止,并因此生成動態表。查詢不斷更新其(動態)結果表,以反映其(動態)輸入表上的更改。實際上,動態表上的連續查詢與定義物化視圖的查詢非常相似。

需要注意的是,連續查詢的結果在語義上始終等同于在輸入表的快照上以批處理模式執行的同一查詢的結果。
下圖顯示了流、動態表和連續查詢的關系:

  • 1、流被轉換為動態表。
  • 2、對動態表計算連續查詢,生成新的動態表。
  • 3、生成的動態表被轉換回流。

注:動態表首先是一個邏輯概念。在查詢執行期間,動態表不一定(完全)具體化。

三、查詢限制

許多(但不是所有)語義有效的查詢可以作為流上的連續查詢進行計算。有些查詢的計算成本太高,要么是因為它們需要維護的狀態的大小,要么是因為計算更新的成本太高。

  • 1、狀態大小:連續查詢是在無邊界的流上計算的,通常應該運行數周或數月。因此,連續查詢處理的數據總量可能非常大。必須更新先前發出的結果的查詢需要維護所有發出的行才能更新它們。例如,查詢需要存儲每個用戶的URL計數,以便在輸入表收到新行時增加計數并發送新結果。如果只跟蹤注冊用戶,則要維護的計數可能不會太高。但是,如果未注冊的用戶分配了唯一的用戶名,則要維護的計數將隨著時間的推移而增加,并可能最終導致查詢失敗。
SELECT user, COUNT(url) FROM clicks GROUP BY user;
  • 2、計算更新:一些查詢需要重新計算和更新大部分發出的結果行,即使只添加或更新了一個輸入記錄。顯然,這種查詢不太適合作為連續查詢執行。下面的查詢就是一個例子,它根據最后一次單擊的時間為每個用戶計算一個排名。一旦clicks表接收到一個新行,用戶的lastAction就會更新,并且必須計算一個新的排名。但是,由于兩行不能具有相同的排名,所以所有排名較低的行也需要更新
SELECT user, RANK() OVER (ORDER BY lastLogin)FROM (SELECT user, MAX(cTime) AS lastAction FROM clicks GROUP BY user);

四、表到流到轉換

與常規數據庫表一樣,動態表可以通過插入、更新和刪除更改進行連續修改。它可能是一個只有一行的表,該行是不斷更新的,也可能是一個只插入而不更新和刪除修改的表,或者介于兩者之間的任何內容。將動態表轉換為流或將其寫入外部系統時,需要對這些更改進行編碼。Flink的表API和SQL支持三種方式對動態表的更改進行編碼:

  • 1、僅追加流(Append-only stream):僅通過插入更改修改的動態表可以通過發出插入的行轉換為流。
  • 2、回收流(Retract stream):回收流是包含兩類消息的流,添加消息和收回消息。動態表通過將INSERT change編碼為add消息、DELETE change編碼為retract消息、UPDATE change編碼為updated(previous)行的retract消息和UPDATE(new)行的add消息轉換為retract流。下圖顯示了將動態表轉換為收縮流的過程。
  • 3、更新插入流(Upsert stream):upsert流是一種包含兩種類型消息的流,包括Upsert消息和刪除消息。 轉換為upsert流的動態表需要(可能是復合的)唯一鍵。 通過將INSERT和UPDATE更改編碼為upsert消息并將DELETE更改編碼為刪除消息,將具有唯一鍵的動態表轉換為流。 流消耗運算符需要知道唯一鍵屬性才能正確應用消息。 與回收流的主要區別在于UPDATE更改使用單個消息進行編碼,因此更有效。 下圖顯示了動態表到upsert流的轉換。

總結

以上是生活随笔為你收集整理的Flink-Table StreamTableEnvironment基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久操色 | 中国videosex高潮hd | 东京久久 | 猛男被粗大男男1069 | 日日操日日干 | 成人毛片视频在线观看 | 俺去操 | 精品久久香蕉国产线看观看亚洲 | 懂色av蜜臀av粉嫩av喷吹 | 欧美性受xxxx黑人xyx性 | 黄色大片免费网站 | 日韩视频一区二区 | 精品国产无码一区二区 | 男生坤坤放进女生坤坤里 | 女人17片毛片60分钟 | 在哪里可以看黄色片 | 国产精品一区二区在线播放 | 风流僵尸艳片a级 | 十大污网站 | 亚洲一级色 | 亚洲av综合色区无码二区爱av | 久久韩国 | 一区二区三区成人 | 久久国产精品网站 | 欧美激情在线观看 | 免费午夜视频 | 天天做天天爱天天操 | 国内三级视频 | 国产精品久久国产精品 | 91人妻一区二区三区蜜臀 | 亚洲一区二区精品视频 | 国产精品欧美在线 | 日韩国产亚洲欧美 | 久久精品国产99国产 | 国产电影一区二区三区 | 在线观看视频www | 青青草国产一区二区三区 | 精品深夜av无码一区二区老年 | 在线观看国产麻豆 | 搞黄视频在线观看 | 天天艹天天爽 | 久久影视中文字幕 | 日日操天天 | 妖精视频一区二区 | 中文字幕视频在线播放 | 久久久久亚洲av成人片 | 五月婷婷一区二区 | 北条麻妃一区二区三区四区五区 | 少妇又色又爽又黄的视频 | 久久精品导航 | 国产丝袜一区二区三区 | 日韩精品视频免费播放 | 肉感丰满的av演员 | 四虎永久在线精品免费网址 | 欧美中字 | 午夜免费高清视频 | 国产愉拍 | 在线播放你懂得 | 双乳被四个男人吃奶h文 | 男人猛进女人爽的大叫 | 欧美一级视频在线观看 | 国产一级特黄 | 美女视频污 | www.x日本 | 快播视频在线观看 | 日本老肥婆bbbwbbbwzr | 欧美激情视频一区二区三区在线播放 | 求个黄色网址 | 国产成人无码精品 | 青青草原一区二区 | 91色伦| 午夜精品福利一区二区 | 日本在线第一页 | 五月天伊人网 | 日韩不卡av | 精品国产乱码一区二区三区99 | 成人免费黄 | a级特黄视频 | 亚洲97| 91看片看淫黄大片 | 九色综合网| 91亚瑟 | 色婷婷精品久久二区二区密 | 秋霞欧洲 | 国产亚洲无码精品 | 亚洲国产视频在线观看 | 亚洲一区二区天堂 | 国产亚洲av片在线观看18女人 | 高潮爽爆喷水h | 成年人视频网 | 免费污片在线观看 | 男女性杂交内射妇女bbwxz | 窝窝午夜精品一区二区 | 亚洲毛片一区二区三区 | 91视频网页 | 调教少妇视频 | 国产黑丝在线观看 | 欧美真人性野外做爰 | avtt国产|