《2023年最新版大資料面試題全面開啟更新》
flink提供了乙個分布式快取,類似於hadoop,可以使使用者在並行函式中很方便的讀取本地檔案,並把它放在taskmanager節點中,防止task重複拉取。
此快取的工作機制如下:程式註冊乙個檔案或者目錄(本地或者遠端檔案系統,例如hdfs或者s3),通過executionenvironment註冊快取檔案並為它起乙個名稱。
當程式執行,flink自動將檔案或者目錄複製到所有taskmanager節點的本地檔案系統,僅會執行一次。使用者可以通過這個指定的名稱查詢檔案或者目錄,然後從taskmanager節點的本地檔案系統訪問它。
在executionenvironment中註冊乙個檔案:
//獲取執行環境
executionenvironment env = executionenvironment.getexecutionenvironment();
//1:註冊乙個檔案,可以使用hdfs上的檔案 也可以是本地檔案進行測試
env.registercachedfile("/users/wangzhiwu/workspace/quickstart/text","a.txt");
//在使用者函式中訪問快取檔案或者目錄(這裡是乙個map函式)。這個函式必須繼承richfunction,因為它需要使用runtimecontext讀取資料:
datasetresult = data.map(new richmapfunction()
}@override
public string map(string value) throws exception
});result.printtoerr();
}
完整**如下,仔細看注釋:
public class discachetest
}@override
public string map(string value) throws exception
});result.printtoerr();
}}//
輸出結果如下:
[hello, flink, hello, flink]:a
[hello, flink, hello, flink]:b
[hello, flink, hello, flink]:c
[hello, flink, hello, flink]:d
flink實戰 基本概念
基本概念 flink程式執行時包含兩個主要的程序,master和worker。主要分為 job client jobmanager taskmanager.master程序是job manager,協調和管理著程式的執行,主要職責 排程任務 管理checkpoints 故障恢復等 job manag...
Flink流處理之迭代案例
我們在學習flink時一般都離不開flink官網,而我們通常都要先學會 example apche的開源專案一般都會有這個目錄,今天就說一下flink的example中的流處理的迭代 官網流處理的迭代位址 首先。基於輸入流構建iterativestream。這是乙個迭代的起始。通常稱之為迭代頭 it...
Flink 專案案例實操01
專案詳情 基於實時計算,您可以輕鬆完成實時欺詐檢測系統。實時欺詐檢測系統能夠及時發現使用者高危行為並採取措施,降低損失。實時欺詐檢測 風控 系統流程如下 實時計算訂閱訊息佇列,過濾出感興趣的行為,比如 購買 領券 瀏覽等。實時計算計算把這個行為特徵化。實時計算通過udf呼叫外部乙個風險模型,判斷這次...