Konektor Cloud Storage adalah library Java open source yang memungkinkan Anda menjalankan tugas Apache Hadoop atau Apache Spark langsung pada data di Cloud Storage, dan menawarkan sejumlah manfaat dibandingkan memilih Hadoop Distributed File System (HDFS).
Manfaat konektor Cloud Storage
- Akses data langsung – Menyimpan data Anda di Cloud Storage dan mengaksesnya secara langsung. Anda tidak perlu mentransfernya ke HDFS terlebih dahulu.
- Kompatibilitas HDFS – Anda dapat mengakses data dengan mudah di Cloud Storage menggunakan awalan
gs://
, bukanhdfs://
. - Interoperabilitas – Dengan menyimpan data di Cloud Storage, interoperabilitas yang lancar antara layanan Spark, Hadoop, dan Google.
- Aksesibilitas data – Saat menonaktifkan cluster Hadoop, tidak seperti HDFS, Anda akan terus memiliki akses ke data di Cloud Storage.
- Ketersediaan data tinggi – Data yang disimpan di Cloud Storage sangat tersedia dan direplikasi secara global tanpa kehilangan performa.
- Tidak ada overhead pengelolaan penyimpanan – Tidak seperti HDFS, Cloud Storage tidak memerlukan pemeliharaan rutin, seperti memeriksa sistem file, atau mengupgrade atau melakukan roll back ke versi sistem file sebelumnya.
- Startup cepat – Di HDFS, tugas MapReduce tidak dapat dimulai hingga
NameNode
keluar dari mode aman, sebuah proses yang dapat memerlukan waktu beberapa detik hingga beberapa menit, bergantung pada ukuran dan status data Anda. Dengan Cloud Storage, Anda dapat memulai tugas segera setelah node tugas dimulai, sehingga akan menghemat biaya secara signifikan seiring waktu.
Penyiapan konektor Cloud Storage cluster Dataproc
Konektor Cloud Storage diinstal secara default pada semua node cluster Dataproc di direktori /usr/local/share/google/dataproc/lib/
.
Bagian berikut menjelaskan langkah-langkah yang dapat Anda lakukan agar berhasil menyiapkan konektor di cluster Dataproc.
Izin akun layanan
Saat menjalankan konektor di dalam VM Compute Engine, termasuk cluster Dataproc, properti google.cloud.auth.service.account.enable
disetel ke false
secara default, yang berarti Anda tidak perlu mengonfigurasi akun layanan untuk konektor secara manual. Properti tersebut akan mendapatkan kredensial akun layanan dari server metadata VM.
Versi konektor non-default
Versi konektor Cloud Storage default yang digunakan pada gambar terbaru yang diinstal pada cluster Dataproc tercantum di halaman versi gambar cluster (lihat Versi Dataproc yang didukung). Jika aplikasi Anda bergantung pada versi konektor non-default yang di-deploy di cluster, Anda harus:
- buat cluster dengan tanda
--metadata=GCS_CONNECTOR_VERSION=x.y.z
, yang mengupdate konektor yang digunakan oleh aplikasi yang berjalan di cluster ke versi konektor yang ditentukan, atau - menyertakan dan memindahkan class konektor dan dependensi konektor untuk versi yang Anda gunakan ke dalam jar aplikasi. Relokasi diperlukan untuk menghindari konflik antara versi konektor yang di-deploy dan versi konektor default yang diinstal di cluster Dataproc (lihat contoh relokasi dependensi Maven).
Cluster Non-Dataproc
Download konektor.
Untuk mendownload konektor Cloud Storage untuk Hadoop:
- versi terbaru yang ada di bucket Cloud Storage (tidak direkomendasikan untuk digunakan dalam produksi):
- versi tertentu dari bucket Cloud Storage dengan mengganti versi konektor Hadoop dan Cloud Storage dalam pola nama
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Contoh:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Contoh:
- versi tertentu dari repositori Maven Apache (download jar berarsir yang memiliki akhiran
-shaded
di namanya).
Pasang konektor.
Lihat bagian Menginstal konektor di GitHub untuk menginstal, mengonfigurasi, dan menguji konektor Cloud Storage.
Menggunakan konektor
Ada beberapa cara untuk mengakses data yang disimpan di Cloud Storage:
- Di aplikasi Spark (atau PySpark) atau Hadoop menggunakan awalan
gs://
. - Shell Haoop:
hadoop fs -ls gs://bucket/dir/file
. - Browser Cloud Storage Google Cloud Console.
- Menggunakan perintah
gsutil cp
ataugsutil rsync
.
Referensi
Versi Java
Konektor Cloud Storage memerlukan Java 8.
Informasi Dependensi Maven Apache
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> </dependency>
atau untuk versi berarsir:
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> <classifier>shaded</classifier> </dependency>
Untuk mengetahui informasi lebih detail, lihat catatan rilis konektor Cloud Storage dan Referensi Javadoc.
Langkah selanjutnya
- Pelajari Cloud Storage lebih lanjut