本頁說明如何使用已啟用階層式命名空間的值區,處理 Hadoop 工作負載。
總覽
使用具有階層式命名空間的 Cloud Storage 值區時,您可以設定 Cloud Storage 連接器,針對 Hadoop、Spark、Hive 等工作負載使用「重新命名資料夾」作業。
在沒有階層式命名空間的 bucket 中,Hadoop、Spark 和 Hive 的重新命名作業會涉及多個物件複製和刪除作業,進而影響效能和一致性。使用 Cloud Storage 連接器重新命名資料夾時,處理大量物件的資料夾效能會提升,並確保一致性。
事前準備
如要使用階層式命名空間 bucket 的功能,請使用下列 Cloud Storage 連接器版本:
- 2.2.23 以上版本 (如果您使用 2.x.x 版)
- 3.0.1 以上版本 (如果您使用 3.x.x 版)
舊版連接器 (3.0.0 和 2.2.23 之前的版本) 有限制。如要進一步瞭解相關限制,請參閱「與 Cloud Storage 連接器 3.0.0 版或 2.2.23 之前的版本相容」一文。
在叢集上啟用 Cloud Storage 連接器
本節說明如何在 Dataproc 叢集和自我管理的 Hadoop 叢集上啟用 Cloud Storage 連接器。
Dataproc
您可以使用 Google Cloud CLI 建立 Dataproc 叢集,並啟用 Cloud Storage 連接器來執行資料夾作業。
使用下列指令建立 Dataproc 叢集:
gcloud dataproc clusters create CLUSTER_NAME --properties=core:fs.gs.hierarchical.namespace.folders.enable=true, core:fs.gs.http.read-timeout=30000
其中:
CLUSTER_NAME
是叢集的名稱。例如:my-cluster
fs.gs.hierarchical.namespace.folders.enable
用於在 bucket 上啟用階層命名空間。fs.gs.http.read-timeout
是從已建立連線讀取資料時,允許的上限時間 (以毫秒為單位)。這項設定為選用。
自行管理的 Hadoop
您可以在自行管理的 Hadoop 叢集上啟用 Cloud Storage 連接器,執行資料夾作業。
在 core-site.xml 設定檔中新增下列內容:
<property> <name>fs.gs.hierarchical.namespace.folders.enable</name> <value>true</value> </property> <property> <name>fs.gs.http.read-timeout</name> <value>30000</value> </property>
其中:
fs.gs.hierarchical.namespace.folders.enable
用於在 bucket 上啟用階層命名空間fs.gs.http.read-timeout
是從已建立連線讀取資料時,允許的上限時間 (以毫秒為單位)。這項設定為選用。
與 Cloud Storage 連接器 3.0.0 版或 2.2.23 之前的版本相容
使用 Cloud Storage 連接器 3.0.0 版或 2.2.23 之前的版本,或是停用階層式命名空間的資料夾作業,可能會導致下列限制:
資料夾重新命名效率不彰:Hadoop 中的資料夾重新命名作業會使用物件層級的複製和刪除作業,這比專用的
rename folder
作業慢,效率也較低。累積空白資料夾:系統不會自動刪除資料夾,導致儲存空間累積許多空白資料夾。累積空資料夾可能會造成下列影響:
- 如果未明確刪除,儲存空間費用就會增加。
減緩清單作業,並增加清單作業逾時的風險。
相容性問題:混用新舊版連接器,或啟用及停用資料夾作業,都可能在重新命名資料夾時導致相容性問題。請參考下列情境,瞭解如何搭配使用不同版本的連接器:
使用舊版 (2.2.23 以前) 的 Cloud Storage 連接器執行下列工作:
- 在資料夾
foo/
下寫入物件。 - 將
foo/
資料夾重新命名為bar/
。重新命名作業會複製並刪除foo/
下的物件,但不會刪除空白的foo/
資料夾。
- 在資料夾
使用 Cloud Storage 連接器 2.2.23 版,並啟用資料夾作業設定,將資料夾
bar/
重新命名為foo/
。
啟用資料夾作業後,連接器 2.2.23 版會偵測到現有的
foo/
資料夾,導致重新命名作業失敗。舊版連接器不會刪除foo/
資料夾,因為資料夾作業已停用。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 Cloud Storage