簡體   English   中英

Flink參考數據建議/最佳實踐

[英]Flink reference data advice/best practice

尋找有關在哪里存儲/訪問Flink參考數據的建議。 這里的用例非常簡單-我有一個帶有國家/地區列表的單列文本文件。 我正在流推特數據,然后根據(解析的)推文的位置字段從文本文件中匹配國家。 在IDE(Eclipse)中,這很好,因為當例程通過Flink Mapper中的靜態Build方法啟動時(即,實現Flinks MapFunction),我會填充一個靜態ArrayList。 該類現在是內部靜態的,否則將在序列化時產生混亂。 重點是,當在運行時從流內部調用覆蓋的地圖函數時,國家/地區數據的靜態數組就是它們的等待狀態,已完全填充且准備好與之匹配。 很有魅力。 但是,當部署到Flink集群中時(上周花了我很多時間才回到實際位置,以找到查找文本文件的代碼),該數組作為Build方法的一部分進行填充。 談到使用時,數據神秘地消失了,我留下的數組大小為0。(因此,並沒有找到很多匹配項。因此,有2個問題-為什么它在Eclipse中而不是在部署中起作用(渲染許多Eclipse單元測試也沒有意義。)或者可能更一般而言,在Flink中交叉引用這種靜態,固定引用數據的正確方法是什么(以及在Eclipse和Eclipse中都可以找到的方式)。簇...)

處理靜態參考數據的標准方法是使用RichMapFunctionRichFlatMapFunctionopen方法加載數據。 豐富的函數具有openclose方法,這些方法對於創建和最終確定本地狀態非常有用,並且可以訪問運行時上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM