Share via


Google Cloud Depolama'a Bağlan

Bu makalede, Google Cloud Depolama'da (GCS) depolanan tabloları ve verileri okumak ve yazmak için Azure Databricks'ten bağlantı yapılandırma işlemi açıklanmaktadır.

GCS demetinden okumak veya yazmak için ekli bir hizmet hesabı oluşturmanız ve demeti hizmet hesabıyla ilişkilendirmeniz gerekir. Demete doğrudan hizmet hesabı için oluşturduğunuz bir anahtarla bağlanırsınız.

Google Cloud hizmet hesabı anahtarıyla gcs demetine doğrudan erişme

Doğrudan bir demeti okumak ve yazmak için Spark yapılandırmanızda tanımlanan bir anahtarı yapılandırırsınız.

1. Adım: Google Cloud Console kullanarak Google Cloud hizmet hesabını ayarlama

Azure Databricks kümesi için bir hizmet hesabı oluşturmanız gerekir. Databricks, bu hizmet hesabına görevlerini gerçekleştirmek için gereken en düşük ayrıcalıkların verilmesini önerir.

  1. IAM'ye tıklayın ve sol gezinti bölmesinde Yönetici.

  2. Hizmet Hesapları'nı tıklatın.

  3. + HİzMET HESABI OLUŞTUR'a tıklayın.

  4. Hizmet hesabı adını ve açıklamasını girin.

    GCS için Google Create hizmet hesabı

  5. OLUŞTUR'a tıklayın.

  6. DEVAM'a tıklayın.

  7. YİNE'ye tıklayın.

2. Adım: GCS demetine doğrudan erişmek için anahtar oluşturma

Uyarı

Hizmet hesabı için oluşturduğunuz JSON anahtarı, Google Cloud hesabınızdaki veri kümelerine ve kaynaklara erişimi denetlediğinden yalnızca yetkili kullanıcılarla paylaşılması gereken özel bir anahtardır.

  1. Google Cloud konsolunun hizmet hesapları listesinde yeni oluşturulan hesaba tıklayın.

  2. Anahtarlar bölümünde ANAHTAR EKLE > Yeni anahtar oluştur'a tıklayın.

    Google Anahtar Oluştur

  3. JSON anahtar türünü kabul edin.

  4. OLUŞTUR'a tıklayın. Anahtar dosyası bilgisayarınıza indirilir.

3. Adım: GCS demetini yapılandırma

Demet oluşturma

Henüz bir demetiniz yoksa bir demet oluşturun:

  1. Sol gezinti bölmesinde Depolama'e tıklayın.

  2. DEMET OLUŞTUR'a tıklayın.

    Google Demet Oluştur

  3. OLUŞTUR'a tıklayın.

Demeti yapılandırma

  1. Demet ayrıntılarını yapılandırın.

  2. İzinler sekmesine tıklayın.

  3. İzinler etiketinin yanındaki EKLE'ye tıklayın.

    Google Bucket Ayrıntıları

  4. Bulut Depolama rollerinden demetteki hizmet hesabına Depolama Yönetici izni verin.

    Google Bucket İzinleri

  5. KAYDET'e tıklayın.

4. Adım: Hizmet hesabı anahtarını Databricks gizli dizilerine yerleştirme

Databricks, tüm kimlik bilgilerini depolamak için gizli dizi kapsamlarının kullanılmasını önerir. Özel anahtar ve özel anahtar kimliğini anahtar JSON dosyanızdan Databricks gizli dizi kapsamlarına yerleştirebilirsiniz. Çalışma alanınızdaki kullanıcılara, hizmet sorumlularına ve gruplara gizli dizi kapsamlarını okumaları için erişim verebilirsiniz. Bu, kullanıcıların GCS'ye erişmesine izin verirken hizmet hesabı anahtarını korur. Gizli dizi kapsamı oluşturmak için bkz . Gizli diziler.

5. Adım: Azure Databricks kümesini yapılandırma

  1. Spark Yapılandırması sekmesinde, gizli dizi kapsamlarında depolanan anahtarları ayarlamak için aşağıdaki kod parçacığını kullanın:

    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}}
    

    değerini <project-id> anahtar JSON dosyanızdaki bu tam alan adlarının değerleriyle değiştirin<client-email>.

GcS demetindeki hizmet hesabına ve verilere erişimi korumak için hem küme erişim denetimini hem de not defteri erişim denetimini birlikte kullanın. Bkz . İşlem izinleri ve Databricks not defterlerini kullanarak işbirliği yapma.

6. Adım: GCS'den okuma

GCS demetinden okumak için desteklenen herhangi bir biçimde spark okuma komutu kullanın, örneğin:

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

GCS demetine yazmak için desteklenen herhangi bir biçimde spark yazma komutu kullanın, örneğin:

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

değerini 3. Adım: GCS demetini yapılandırma bölümünde oluşturduğunuz demetin adıyla değiştirin<bucket-name>.

Örnek not defterleri

Google Cloud Depolama not defterinden okuma

Not defterini alma

Google Cloud Depolama not defterine yazma

Not defterini alma