Bagikan melalui


Menyambungkan ke Google Cloud Storage

Artikel ini menjelaskan cara mengonfigurasi koneksi dari Azure Databricks untuk membaca dan menulis tables dan data yang disimpan di Google Cloud Storage (GCS).

Untuk membaca atau menulis dari wadah GCS, Anda harus membuat akun layanan terlampir dan Anda harus mengaitkan wadah dengan akun layanan. Anda terhubung langsung ke wadah dengan menggunakan kunci yang Anda generate untuk akun layanan.

Mengakses wadah GCS langsung dengan kunci akun layanan Google Cloud

Untuk membaca dan menulis langsung ke wadah, Anda mengonfigurasi kunci yang ditentukan dalam konfigurasi Spark Anda.

Langkah 1: Set akun layanan Google Cloud menggunakan Google Cloud Console

Anda harus membuat akun layanan untuk kluster Azure Databricks. Databricks merekomendasikan untuk memberikan hak istimewa paling sedikit kepada akun layanan ini untuk melakukan tugasnya.

  1. Klik IAM dan Admin di panel navigasi kiri.

  2. Klik Akun Layanan.

  3. Klik + BUAT AKUN LAYANAN.

  4. Masukkan nama dan deskripsi akun layanan.

    Akun layanan Google Create untuk GCS

  5. Klik Buat.

  6. Klik LANJUTKAN.

  7. Klik Selesai.

Langkah 2: Buat kunci untuk mengakses wadah GCS secara langsung

Peringatan

Kunci JSON yang Anda generate untuk akun layanan adalah kunci privat yang hanya boleh dibagikan dengan pengguna yang berwenang karena mengontrol akses ke himpunan data dan sumber daya di akun Google Cloud Anda.

  1. Di konsol Google Cloud, di akun layanan list, klik akun yang baru dibuat.
  2. Di bagian Kunci , klik TAMBAHKAN KUNCI > Buat kunci baru.
  3. Terima jenis kunci JSON.
  4. Klik Buat. File kunci diunduh ke komputer Anda.

Langkah 3: Mengonfigurasi wadah GCS

Membuat wadah

Jika Anda belum memiliki wadah, buatlah:

  1. Klik Penyimpanan di panel navigasi kiri.

  2. Klik BUAT BUCKET.

    Google Buat Wadah

  3. Klik Buat.

Mengonfigurasi wadah

  1. Konfigurasikan detail wadah.

  2. Klik tab Izin.

  3. Di samping label Izin , klik TAMBAHKAN.

    Detail Bucket Google

  4. Berikan izin Admin Penyimpanan ke akun layanan pada wadah dari peran Cloud Storage.

    Izin Bucket Google

  5. Klik Simpan.

Langkah 4: Letakkan kunci akun layanan di rahasia Databricks

Databricks merekomendasikan penggunaan cakupan rahasia untuk menyimpan semua credentials. Anda dapat meletakkan kunci privat dan ID kunci privat dari file JSON kunci Anda ke dalam cakupan rahasia Databricks. Anda dapat grant pengguna, perwakilan layanan, dan grup di akses ruang kerja Anda untuk membaca cakupan rahasia. Ini melindungi kunci akun layanan sambil memungkinkan pengguna mengakses GCS. Untuk membuat cakupan rahasia, lihat Mengelola rahasia.

Langkah 5: Mengonfigurasi kluster Azure Databricks

Di tab Konfigurasi Spark, konfigurasikan konfigurasi global atau konfigurasi per wadah. Contoh berikut set menunjukkan kunci yang menggunakan values, disimpan sebagai rahasia Databricks.

Catatan

Gunakan kontrol akses kluster dan kontrol akses notebook bersama-sama untuk melindungi akses ke akun layanan dan data di wadah GCS. Lihat Izin komputasi dan Berkolaborasi menggunakan notebook Databricks.

Konfigurasi global

Gunakan konfigurasi ini jika credentials yang disediakan harus digunakan untuk mengakses semua wadah.

spark.hadoop.google.cloud.auth.service.account.enable true
spark.hadoop.fs.gs.auth.service.account.email <client-email>
spark.hadoop.fs.gs.project.id <project-id>
spark.hadoop.fs.gs.auth.service.account.private.key {{secrets/scope/gsa_private_key}}
spark.hadoop.fs.gs.auth.service.account.private.key.id {{secrets/scope/gsa_private_key_id}}

Ganti <client-email>dan <project-id> dengan values yang sesuai dari nama-nama bidang dalam file JSON kunci Anda.

Konfigurasi per wadah

Gunakan konfigurasi ini jika Anda harus mengonfigurasi credentials untuk wadah tertentu. Sintaks untuk konfigurasi per wadah menambahkan nama wadah ke akhir setiap konfigurasi, seperti dalam contoh berikut.

Penting

Konfigurasi per wadah dapat digunakan selain konfigurasi global. Jika ditentukan, konfigurasi per wadah menggantikan konfigurasi global.

spark.hadoop.google.cloud.auth.service.account.enable.<bucket-name> true
spark.hadoop.fs.gs.auth.service.account.email.<bucket-name> <client-email>
spark.hadoop.fs.gs.project.id.<bucket-name> <project-id>
spark.hadoop.fs.gs.auth.service.account.private.key.<bucket-name> {{secrets/scope/gsa_private_key}}
spark.hadoop.fs.gs.auth.service.account.private.key.id.<bucket-name> {{secrets/scope/gsa_private_key_id}}

Menggantikan <client-email>, <project-id> dengan values dari nama-nama spesifik bidang tersebut yang ada dalam file JSON kunci Anda.

Langkah 6: Baca dari GCS

Untuk membaca dari wadah GCS, gunakan perintah baca Spark dalam format apa pun yang didukung, misalnya:

df = spark.read.format("parquet").load("gs://<bucket-name>/<path>")

Untuk menulis ke wadah GCS, gunakan perintah tulis Spark dalam format apa pun yang didukung, misalnya:

df.write.mode("<mode>").save("gs://<bucket-name>/<path>")

Ganti dengan nama wadah yang Anda buat di Langkah 3: Konfigurasikan <bucket-name> wadah GCS.

Contoh buku catatan

Membaca dari notebook Google Cloud Storage

Get buku catatan

Menulis ke notebook Google Cloud Storage

Get buku catatan