1
我正在使用Google Dataproc羣集來對Bigtable運行Spark M/R作業。 通過網絡從Bigtable發送到Dataproc羣集以執行地圖階段還是地圖階段在Bigtable羣集上物理運行?Bigtable通過網絡向Dataproc發送數據以執行地圖階段?
我正在使用Google Dataproc羣集來對Bigtable運行Spark M/R作業。 通過網絡從Bigtable發送到Dataproc羣集以執行地圖階段還是地圖階段在Bigtable羣集上物理運行?Bigtable通過網絡向Dataproc發送數據以執行地圖階段?
所有計算都將在Dataproc上運行,並且需要執行該計算的任何數據都需要通過網絡傳輸到Dataproc以使其工作。
需要注意的是,如果您在掃描上設置了過濾器,那麼Bigtable服務會在將數據發送回Dataproc上運行的作業之前執行該過濾。
這是否意味着使用Dataproc集羣的工作節點提供的HFS而不是Bigtable來存儲大量數據會更好?我執行Spark作業,只掃描最近的數據,不需要通過rowkeys請求任意行。 –
這是一個多毛的設計問題,並取決於其他因素。如果您的數據僅用於批量數據分析,則可以考慮將數據存儲在雲存儲中,並使用Dataproc或Dataflow進行處理。這將允許您在不需要時關閉計算資源。如果您將數據存儲在HDFS中,則您的羣集必須始終處於開啓狀態。 –