Apache Beam的基本概念

2021-09-07 15:03:53 字數 1060 閱讀 2152

不多說,直接上乾貨!

apache beam的基本概念

在使用apache beam構建資料處理程式,首先需要使用beam sdk中的類建立乙個driver程式,在driver程式中建立乙個滿足我們資料處理需求的pipeline,pipeline中包括輸入(inputs)、轉換(transformations)、輸出(outputs)三個核心的元件。然後,根據我們選擇的beam sdk來確定底層使用pipeline runner(執行引擎,或計算引擎),將我們定義好的pipeline執行在pipeline runner上。

apache beam sdks提供一組抽象,用來簡化大規模分布式資料處理。同乙個beam抽象,能夠同時適應批量處理、流處理兩種資料來源。

下面,我們了解一下apache beam的一些關鍵抽象:

乙個pipeline是對乙個資料處理任務抽象,它包含了我們在對給定資料集處理的全部邏輯,主要包括從資料來源讀取資料(可能從多個資料來源讀取)、在給定的資料集上執行transform操作(中間可能是乙個dag圖,通過多個transform連線,而transform的輸出和輸出都可能是乙個資料集)、將transform的資料結果寫入到指定對的儲存系統中。

乙個pcollection是對分布式資料集的抽象,他可以是輸入資料集、中間結果資料集、輸出資料集。每乙個由pcollection表徵的資料集作為輸入時,都會存在乙個或多個transform作用在其上(對資料集進行處理的邏輯)。

乙個transform表示資料處理過程中乙個步驟(step),對應於pipeline中乙個操作,每乙個transform會以乙個或多個pcollection作為輸入,經過處理後輸出乙個或多個pcollection。

apache beam提供了source和sink的api,用來表示讀取和寫入資料。source表示從乙個外部的資料來源讀入資料到pipeline,而sink表示經過pipeline處理後將資料寫入到外部儲存系統。

pipelinerunner是實際用來處理pipeline邏輯的底層元件,它能夠將使用者構建的pipeline翻譯成底層計算引擎能夠處理的job,並執行pipeline的處理邏輯。

Apache Beam的基本概念

不多說,直接上乾貨!apache beam的基本概念 在使用apache beam構建資料處理程式,首先需要使用beam sdk中的類建立乙個driver程式,在driver程式中建立乙個滿足我們資料處理需求的pipeline,pipeline中包括輸入 inputs 轉換 transformati...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...