Flink 定時載入維表

2021-10-14 00:24:14 字數 1310 閱讀 1208

業務背景:原先有大量資料會去從redis中查詢,造成頻繁的連線和查詢,而且redis中的資料量很小,因此可以採用定時載入維表,將資料載入進每個subtask中。

code:

class

commercialadvrichmapfunction

(redishost: string, redispass: string)

extends

richmapfunction

[source, data],5

,5, timeunit.minutes)

} override def map

(value: source)

: data =

else

catch}}

// 日誌中的ecpm需要/100,redis中的不需要

// 如果從redis中取出來的值為null,那麼還是取日誌中的

}// 從redis載入全量資料

def loaddata()

= records load ok~"

) redisecpmmap

} def reload()

=catch}}

}

flink維表join的幾種方式(1)

維表join的幾種方式 一 將維表預載入到記憶體關聯 實現方式 定義乙個類實現richflatmapfunction在open 方法中讀取全部資料載入到記憶體中。優缺點 因為存在記憶體中,所以僅支援小資料量維表 因為open方法中讀取,所以維表變化需要重啟作業。二 通過distributed cac...

Flink 實時計算 維表 Join 解讀

flink 1.9 版本可以說是乙個具有里程碑意義的版本,其內部合入了很多 blink table sql 方面的功能,同時也開始增強 flink 在批處理方面的能力,真的是向批流統一的終極方向開始前進。flink 1.9 版本在 8.22 號也終於發布了。本文主要介紹學習 flink sql 維表...

flink中的類載入器ClassLoader

在flink中的taskmanager中的classloader並不是使用的雙親委派機制 類載入器從子到父為 再往上platformclassloader的paretn classloader就是null了,應該就到bootstrap classloader 個人認為應該是雙親委派不能夠滿足flin...