一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  應(yīng)聘面試  >  大數(shù)據(jù)面試題  > Flink維表Join方式?

Flink維表Join方式?

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-09-02 15:42:14 1662104534

1. 直接加到內(nèi)存,起一個線程定時更新維表。

# 優(yōu)點(diǎn):實(shí)現(xiàn)簡單

# 缺點(diǎn):適用于維表不是太大,維度更新不頻繁場景

# 適用場景:維表小,變更頻率低,對變更及時性要求低

2. 通過Distributed Cache 分發(fā)本地維度文件到task manager后加載到內(nèi)存關(guān)聯(lián)。

* 通過env.registerCachedFile注冊文件。實(shí)現(xiàn)RichFunction,在open()中通過RuntimeContext獲取cache文件。

# 優(yōu)點(diǎn):不需要外部數(shù)據(jù)庫

# 缺點(diǎn):支持維度數(shù)據(jù)量比較小,更新需要更改文件并重啟作業(yè)

# 適用場景:維度數(shù)據(jù)是以文件形式,數(shù)據(jù)量小,更新頻率低。

比如:靜態(tài)碼表,配置文件。

Flink維表Join方式?

3. 熱存儲關(guān)聯(lián):利用Flink的RichAsyncFunction讀取外部存儲的數(shù)據(jù)到緩存中,我們在關(guān)聯(lián)維度表時先去查詢緩存,如果緩存中不存在這條數(shù)據(jù),就利用客戶端去查詢外部存儲,然后插入到緩存中, 可以使用 Guava 庫提供的 CacheBuilder 來創(chuàng)建緩存。

外部存儲可以是HBase,Redis等

* 這里需要特別注意的是,我們用到了異步 IO (RichAsyncFunction),這個功能的出現(xiàn)就是為了解決與外部系統(tǒng)交互時網(wǎng)絡(luò)延遲成為系統(tǒng)瓶頸的問題。

# 優(yōu)點(diǎn):維度數(shù)據(jù)不受限于內(nèi)存,支持較多維度數(shù)據(jù)

# 缺點(diǎn):需要熱存儲資源,維度更新反饋到結(jié)果有延遲(熱存儲導(dǎo)入,cache) # 適用場景:維度數(shù)據(jù)量大,可接受維度更新有一定的延遲。

4. Broadcast 流 1. 將維度數(shù)據(jù)發(fā)送到Kafka作為流S1。事實(shí)數(shù)據(jù)是流S2。

2. 定義狀態(tài)描述符MapStateDescriptor,如descriptor。

3. 結(jié)合狀態(tài)描述符,將S1廣播出去,如S1.broadcast(descriptor),形成廣播流(BroadcastStream) B1。

4. 事實(shí)流S2和廣播流B1連接,形成連接后的流BroadcastConnectedStream BC。

5. 基于BC流,在KeyedBroadcastProcessFunction/BroadcastProcessFunction中實(shí)現(xiàn)Join的邏輯處理。

# 優(yōu)點(diǎn): 維度變化實(shí)時感知

# 缺點(diǎn): 需要將維度變化數(shù)據(jù)轉(zhuǎn)換為Kafka流,維度數(shù)據(jù)保存在內(nèi)存中,支持的數(shù)據(jù)量相對較小

# 使用場景: 維度數(shù)據(jù)量小,維度變化敏感

5. Flink SQL 實(shí)現(xiàn)維表Join

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
快速通道