Aracılığıyla paylaş


Google Cloud Storage'a bağlanma

Bu makalede, Google Cloud Storage'da (GCS) depolanan tables 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. Doğrudan bir anahtarla hizmet hesabı için generate olan bucket'a 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ı Set

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. Sol gezinti bölmesinde IAM ve Yönetici'ye tıklayın.

  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 generate 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 konsolunda, listhizmet hesaplarında yeni oluşturulan hesaba tıklayın.
  2. Anahtarlar bölümünde ANAHTAR EKLE > Yeni anahtar oluştur'a tıklayın.
  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'ya 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öneticisi 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 credentialsdepolamak 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ı okumak için grant erişimi 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 dizileri yönetme.

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

Spark Yapılandırması sekmesinde genel yapılandırma veya demet başına yapılandırma yapılandırın. Aşağıdaki örnekler, Databricks gizli dizileri olarak depolanan values'i kullanarak set işlemini gerçekleştirir.

Not

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

Genel yapılandırma

Sağlanan credentials tüm demetlere erişmek için kullanılması gerekiyorsa bu yapılandırmayı 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}}

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

Demet başına yapılandırma

belirli demetler için credentials yapılandırmanız gerekiyorsa bu yapılandırmayı kullanın. Demet başına yapılandırma söz dizimi, aşağıdaki örnekte olduğu gibi demet adını her yapılandırmanın sonuna ekler.

Önemli

Demet başına yapılandırmalar, genel yapılandırmalara ek olarak kullanılabilir. Belirtildiğinde, demet başına yapılandırmalar genel yapılandırmaların yerini alır.

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

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

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.mode("<mode>").save("gs://<bucket-name>/<path>")

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

Örnek not defterleri

Google Cloud Storage not defterinden okuma

Get dizüstü bilgisayar

Google Cloud Storage not defterine yazma

Get not defteri