Halaman ini menjelaskan cara menggunakan bucket yang mengaktifkan namespace hierarkis untuk workload Hadoop.
Ringkasan
Saat menggunakan bucket Cloud Storage dengan namespace hierarkis, Anda dapat mengonfigurasi konektor Cloud Storage untuk menggunakan operasi ganti nama folder untuk beban kerja seperti Hadoop, Spark, Hive.
Dalam bucket tanpa namespace hierarkis, operasi penggantian nama di Hadoop, Spark, dan Hive melibatkan beberapa tugas salin dan hapus objek, yang memengaruhi performa dan konsistensi. Mengganti nama folder menggunakan konektor Cloud Storage akan mengoptimalkan performa dan memastikan konsistensi, saat menangani folder dengan sejumlah besar objek.
Dataproc
Anda dapat menggunakan Google Cloud CLI untuk membuat cluster Dataproc dan mengaktifkan konektor Cloud Storage untuk melakukan operasi folder.
Instal atau update konektor Cloud Storage versi 2.2.23 atau yang lebih baru (tidak termasuk versi 3.0.0).
Buat cluster Dataproc menggunakan perintah berikut:
gcloud dataproc clusters create CLUSTER_NAME --properties=core:fs.gs.hierarchical.namespace.folders.enable=true, core:fs.gs.http.read-timeout=30000
Dengan keterangan:
CLUSTER_NAME
adalah nama cluster. Misalnya,my-cluster
fs.gs.hierarchical.namespace.folders.enable
digunakan untuk mengaktifkan namespace hierarkis di bucket.fs.gs.http.read-timeout
adalah waktu maksimum yang diizinkan, dalam milidetik, untuk membaca data dari koneksi yang dibuat. Ini adalah setelan opsional.
Hadoop yang dikelola sendiri
Anda dapat mengaktifkan konektor Cloud Storage di cluster Hadoop yang dikelola sendiri untuk melakukan operasi folder.
Instal atau update konektor Cloud Storage versi 2.2.23 atau yang lebih baru (tidak termasuk versi 3.0.0).
Tambahkan kode berikut ke file konfigurasi 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>
Dengan keterangan:
fs.gs.hierarchical.namespace.folders.enable
digunakan untuk mengaktifkan namespace hierarkis di bucketfs.gs.http.read-timeout
adalah waktu maksimum yang diizinkan, dalam milidetik, untuk membaca data dari koneksi yang dibuat. Ini adalah setelan opsional.
Kompatibilitas dengan konektor Cloud Storage versi 3.0.0 atau versi yang lebih lama dari 2.2.23
Menggunakan konektor Cloud Storage versi 3.0.0 atau versi yang lebih lama dari 2.2.23 atau menonaktifkan operasi folder untuk namespace hierarkis dapat menyebabkan batasan berikut:
Penggantian nama folder yang tidak efisien: Operasi penggantian nama folder di Hadoop terjadi menggunakan operasi salin dan hapus tingkat objek, yang lebih lambat dan kurang efisien daripada operasi
rename folder
khusus.Akumulasi folder kosong: Resource folder tidak dihapus secara otomatis, sehingga menyebabkan akumulasi folder kosong di bucket Anda. Akumulasi folder kosong dapat menimbulkan dampak berikut:
- Meningkatkan biaya penyimpanan jika tidak dihapus secara eksplisit.
Memperlambat operasi daftar dan meningkatkan risiko waktu tunggu operasi daftar.
Masalah kompatibilitas: Menggabungkan penggunaan versi konektor lama dan baru, atau mengaktifkan dan menonaktifkan operasi folder, dapat menyebabkan masalah kompatibilitas saat mengganti nama folder. Pertimbangkan skenario berikut yang menggunakan kombinasi versi konektor:
Gunakan konektor Cloud Storage versi yang lebih lama dari 2.2.23 untuk melakukan tugas berikut:
- Tulis objek di folder
foo/
. - Ganti nama folder
foo/
menjadibar/
. Operasi penggantian nama menyalin dan menghapus objek di bagianfoo/
, tetapi tidak menghapus folderfoo/
kosong.
- Tulis objek di folder
Gunakan konektor Cloud Storage versi 2.2.23 dengan setelan operasi folder yang diaktifkan untuk mengganti nama folder
bar/
menjadifoo/
.
Konektor versi 2.2.23, dengan operasi folder diaktifkan, mendeteksi folder
foo/
yang ada, sehingga menyebabkan operasi penggantian nama gagal. Versi konektor yang lebih lama tidak menghapus folderfoo/
karena operasi folder dinonaktifkan.
Langkah selanjutnya
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis