99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2020-07-09 閱讀量: 1036
Flink的分層api

image.png

最底層級的抽象僅僅提供了有狀態(tài)流,它將通過過程函數(shù)(Process Function)被嵌入到DataStream API中。底層過程函數(shù)(Process Function) 與 DataStream API 相集成,使其可以對某些特定的操作進行底層的抽象,它允許用戶可以自由地處理來自一個或多個數(shù)據(jù)流的事件,并使用一致的容錯的狀態(tài)。除此之外,用戶可以注冊事件時間并處理時間回調(diào),從而使程序可以處理復雜的計算。

實際上,大多數(shù)應用并不需要上述的底層抽象,而是針對核心API(Core APIs) 進行編程,比如DataStream API(有界或無界流數(shù)據(jù))以及DataSet API(有界數(shù)據(jù)集)。這些API為數(shù)據(jù)處理提供了通用的構(gòu)建模塊,比如由用戶定義的多種形式的轉(zhuǎn)換(transformations),連接(joins),聚合(aggregations),窗口操作(windows)等等。DataSet API 為有界數(shù)據(jù)集提供了額外的支持,例如循環(huán)與迭代。這些API處理的數(shù)據(jù)類型以類(classes)的形式由各自的編程語言所表示。

Table API 是以表為中心的聲明式編程,其中表可能會動態(tài)變化(在表達流數(shù)據(jù)時)。Table API遵循(擴展的)關系模型:表有二維數(shù)據(jù)結(jié)構(gòu)(schema)(類似于關系數(shù)據(jù)庫中的表),同時API提供可比較的操作,例如select、project、join、group-by、aggregate等。Table API程序聲明式地定義了什么邏輯操作應該執(zhí)行,而不是準確地確定這些操作代碼的看上去如何。

盡管Table API可以通過多種類型的用戶自定義函數(shù)(UDF)進行擴展,其仍不如核心API更具表達能力,但是使用起來卻更加簡潔(代碼量更少)。除此之外,Table API程序在執(zhí)行之前會經(jīng)過內(nèi)置優(yōu)化器進行優(yōu)化。

你可以在表與 DataStream/DataSet 之間無縫切換,以允許程序?qū)?Table API 與 DataStream 以及 DataSet 混合使用。

Flink提供的最高層級的抽象是 SQL 。這一層抽象在語法與表達能力上與 Table API 類似,但是是以SQL查詢表達式的形式表現(xiàn)程序。SQL抽象與Table API交互密切,同時SQL查詢可以直接在Table API定義的表上執(zhí)行。


18.3890
1
關注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子