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.
IAM'ye tıklayın ve sol gezinti bölmesinde Yönetici.
Hizmet Hesapları'nı tıklatın.
+ HİzMET HESABI OLUŞTUR'a tıklayın.
Hizmet hesabı adını ve açıklamasını girin.
OLUŞTUR'a tıklayın.
DEVAM'a tıklayın.
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.
Google Cloud konsolunun hizmet hesapları listesinde yeni oluşturulan hesaba tıklayın.
Anahtarlar bölümünde ANAHTAR EKLE > Yeni anahtar oluştur'a tıklayın.
JSON anahtar türünü kabul edin.
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:
Sol gezinti bölmesinde Depolama'e tıklayın.
DEMET OLUŞTUR'a tıklayın.
OLUŞTUR'a tıklayın.
Demeti yapılandırma
Demet ayrıntılarını yapılandırın.
İzinler sekmesine tıklayın.
İzinler etiketinin yanındaki EKLE'ye tıklayın.
Bulut Depolama rollerinden demetteki hizmet hesabına Depolama Yönetici izni verin.
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
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>
.