1 回答

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
好的,首先,Apache Beam 不是一個(gè)數(shù)據(jù)處理引擎,它是一個(gè) SDK,它允許您創(chuàng)建一個(gè)統(tǒng)一的管道并在不同的引擎上運(yùn)行它,比如 Spark、Flink、Google Dataflow 等。所以,運(yùn)行一個(gè) Beam 管道您將需要利用任何支持的數(shù)據(jù)處理引擎或使用DirectRunner
,它將在本地運(yùn)行您的管道,但是(?。┧泻芏嘞拗疲⑶抑饕菫榱藴y(cè)試目的而開發(fā)的。
與 Beam 中的每個(gè)管道一樣,必須有一個(gè)源轉(zhuǎn)換(有界或無界),它將從您的數(shù)據(jù)源中讀取數(shù)據(jù)。我可以猜測(cè),在您的情況下,您的 GRPC 服務(wù)器應(yīng)該重新傳輸收集的事件。因此,對(duì)于源轉(zhuǎn)換,您可以使用已經(jīng)實(shí)現(xiàn)的Beam IO 轉(zhuǎn)換(IO 連接器)或創(chuàng)建自己的轉(zhuǎn)換,因?yàn)?Beam 中目前沒有 GrpcIO 或類似的東西。
關(guān)于內(nèi)存中的處理數(shù)據(jù),我不確定我是否完全理解您的意思。它主要取決于使用的數(shù)據(jù)處理引擎,因?yàn)樽罱K,您的 Beam 管道將在實(shí)際運(yùn)行之前轉(zhuǎn)換為例如 Spark 或 Flink 管道(如果您使用SparkRunner
或FlinkRunner
相應(yīng)地),然后數(shù)據(jù)處理引擎將管理管道工作流。大多數(shù)現(xiàn)代引擎盡最大努力將所有處理過的數(shù)據(jù)保存在內(nèi)存中,并僅在最后的手段將其刷新到磁盤上。
- 1 回答
- 0 關(guān)注
- 136 瀏覽
添加回答
舉報(bào)