[英]Understanding Threading in Google Cloud DataFlow Workers
我做了一個等待 60 秒的簡單程序。 我有 300 個輸入元素要處理。
線程數 - Batch - 1 和 Streaming - 300 每本文檔https://cloud.google.com/dataflow/docs/resources/faq#beam-java-sdk
在流模式下 - 有 1 個工作人員和 300 個線程,考慮到產生工作人員等的開銷,作業應該在 2 到 3 分鍾內完成。我的理解是 300 個輸入元素中的每一個將有 300 個線程,並且全部睡眠 60 秒和工作應該完成。 但是,這項工作需要更多時間才能完成。
同樣,在具有 1 個工作器(1 個線程)和 300 個輸入元素的批處理模式下,應該需要 300 分鍾才能完成。
有人可以澄清這在工人層面是如何發生的嗎?
啟動和拆除工作虛擬機有相當大的開銷,因此很難從像這樣的簡短實驗中概括出來。 此外,沒有 promise 將有給定數量的流或批處理工作人員,因為這是一個依賴於實現的參數,我可以隨時為任何跑步者更改(實際上甚至可以動態選擇)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.