亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將多個流的處理漏斗到單個流中的正確模式

將多個流的處理漏斗到單個流中的正確模式

鳳凰求蠱 2021-06-14 17:51:08
現在我在 SCDF 中有一個流應用程序,它從數據庫中的多個表中提取數據并將其復制到另一個數據庫。目前,我們的目標是減少給定流正在執行的工作量,因此我們希望將流拆分為多個流并繼續將數據復制到第二個數據庫中。是否有任何推薦的設計模式可以將這些不同的流處理集中在一起?
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

如果我正確理解了此要求,您會希望按每個應用程序的 DB/Table 拆分攝取片段,然后將它們全部合并為單個“有效負載類型”以進行下游處理。

如果您確實想按 DB/Table 拆分攝取,則可以,但您可能需要考慮利弊。一個明顯的好處是粒度,你可以獨立地更新應用程序,也許還有可重用性。當然,這也帶來了其他挑戰。單個應用程序的維護、修復和發布等等。

也就是說,您可以將數據扇入單個消費者。下面是一個例子:

foo1 = jdbc | 變換 | 高密度文件

foo2 = jdbc > :foo1.jdbc

foo3 = jdbc > :foo1.jdbc

foo4 = jdbc > :foo1.jdbc

這里foo1是從特定 DB/Table 組合讀取數據的主要管道。同樣,foo2、foo3foo4可以從其他數據庫/表組合中讀取。但是,這 3 個流將消耗的數據寫入命名目標,在這種情況下恰好是foo1.jdbc(又名:主題名稱)。該目的地在部署foo1管道時由 SCDF 自動創建;專門將“jdbc”和“轉換”應用程序與foo1.jdbc主題連接起來。

綜上所述,我們將不同的表數據路由到同一個目的地,所以下游App,在這種情況下,transform處理器從不同的表中獲取數據。

如果數據的相關性很重要,您可以通過每個jdbc來源的唯一鍵(例如,customer-id = 1001)對生產者處的數據進行分區,因此特定于上下文的信息位于同一個transform處理器實例中(假設您已經“ n" 用于橫向擴展處理的處理器實例數)。


查看完整回答
反對 回復 2021-06-23
  • 1 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號