Sdílet prostřednictvím


Připojení ke cloudovému úložišti Google

Tento článek popisuje, jak nakonfigurovat připojení z Azure Databricks ke čtení a zápisu tabulek a dat uložených ve službě Google Cloud Storage (GCS).

Pokud chcete číst nebo zapisovat z kontejneru GCS, musíte vytvořit připojený účet služby a přidružit kontejner k účtu služby. K kbelíku se připojíte přímo pomocí klíče, který pro účet služby vygenerujete.

Přístup k kbelíku GCS přímo pomocí klíče účtu služby Google Cloud

Pokud chcete číst a zapisovat přímo do kontejneru, nakonfigurujte klíč definovaný v konfiguraci Sparku.

Krok 1: Nastavení účtu služby Google Cloud pomocí konzoly Google Cloud Console

Pro cluster Azure Databricks musíte vytvořit účet služby. Databricks doporučuje poskytnout tomuto účtu služby nejnižší oprávnění potřebná k provádění svých úloh.

  1. V levém navigačním podokně klikněte na IAM a Správce .

  2. Klikněte na Účty služeb.

  3. Klikněte na + VYTVOŘIT ÚČET SLUŽBY.

  4. Zadejte název a popis účtu služby.

    Vytvoření účtu služby Google pro GCS

  5. Klikněte na VYTVOŘIT.

  6. Klikněte na POKRAČOVAT.

  7. Klikněte na HOTOVO.

Krok 2: Vytvoření klíče pro přímý přístup k kbelíku GCS

Upozorňující

Klíč JSON, který pro účet služby vygenerujete, je privátní klíč, který by se měl sdílet jenom s autorizovanými uživateli, protože řídí přístup k datovým sadám a prostředkům ve vašem účtu Google Cloud.

  1. V konzole Google Cloud klikněte v seznamu účtů služeb na nově vytvořený účet.

  2. V části Klíče klikněte na PŘIDAT KLÍČ > Vytvořit nový klíč.

    Google Create Key

  3. Přijměte typ klíče JSON.

  4. Klikněte na VYTVOŘIT. Soubor klíče se stáhne do počítače.

Krok 3: Konfigurace kontejneru GCS

Vytvoření kontejneru

Pokud kontejner ještě nemáte, vytvořte ho:

  1. V levém navigačním podokně klikněte na Úložiště .

  2. Klikněte na VYTVOŘIT KBELÍK.

    Google Create Bucket

  3. Klikněte na VYTVOŘIT.

Konfigurace kontejneru

  1. Nakonfigurujte podrobnosti o kontejneru.

  2. Klikněte na kartu Oprávnění .

  3. Vedle popisku Oprávnění klikněte na PŘIDAT.

    Podrobnosti o kontejneru Google

  4. Zadejte oprávnění správce úložiště k účtu služby v kontejneru z rolí cloudového úložiště.

    Oprávnění ke kbelíku Google

  5. Klikněte na ULOŽIT.

Krok 4: Vložení klíče účtu služby do tajných kódů Databricks

Databricks doporučuje používat omezení tajných klíčů pro ukládání všech přihlašovacích údajů. Privátní klíč a ID privátního klíče ze souboru JSON klíče můžete vložit do oborů tajných kódů Databricks. Uživatelům, instančním objektům a skupinám v pracovním prostoru můžete udělit přístup ke čtení oborů tajných kódů. Tím se chrání klíč účtu služby a zároveň umožňuje uživatelům přístup ke službě GCS. Pokud chcete vytvořit obor tajných kódů, přečtěte si téma Tajné kódy.

Krok 5: Konfigurace clusteru Azure Databricks

Na kartě Konfigurace Sparku nakonfigurujte globální konfiguraci nebo konfiguraci pro jednotlivé kontejnery. Následující příklady nastavují klíče pomocí hodnot uložených jako tajné kódy Databricks.

Poznámka:

Pomocí řízení přístupu ke clusteru a řízení přístupu k poznámkovému bloku můžete chránit přístup k účtu služby a datům v kontejneru GCS. Podívejte se na výpočetní oprávnění a spolupráci pomocí poznámkových bloků Databricks.

Globální konfigurace

Tuto konfiguraci použijte, pokud by se zadané přihlašovací údaje měly použít pro přístup ke všem kontejnerům.

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

<project-id> Nahraďte <client-email>hodnoty těchto přesných názvů polí ze souboru JSON klíče.

Konfigurace podle kbelíku

Tuto konfiguraci použijte, pokud je nutné nakonfigurovat přihlašovací údaje pro konkrétní kontejnery. Syntaxe konfigurace pro jednotlivé kontejnery připojí název kontejneru na konec každé konfigurace, jak je znázorněno v následujícím příkladu.

Důležité

Kromě globálních konfigurací je možné použít také konfigurace pro jednotlivé kontejnery. Při zadání se konfigurace pro jednotlivé kontejnery supercede globální konfigurace.

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

<project-id> Nahraďte <client-email>hodnoty těchto přesných názvů polí ze souboru JSON klíče.

Krok 6: Čtení ze služby GCS

Pokud chcete číst z kontejneru GCS, použijte příkaz Pro čtení Sparku v libovolném podporovaném formátu, například:

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

Pokud chcete zapisovat do kontejneru GCS, použijte příkaz pro zápis Sparku v libovolném podporovaném formátu, například:

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

Nahraďte <bucket-name> názvem kontejneru, který jste vytvořili v kroku 3: Konfigurace kontejneru GCS.

Příklady poznámkových bloků

Čtení z poznámkového bloku Google Cloud Storage

Získat poznámkový blok

Zápis do poznámkového bloku Google Cloud Storage

Získat poznámkový blok