Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks

In diesem Artikel wird beschrieben, wie Sie einen externen Speicherort in Unity Catalog zum Verbinden des Cloudspeichers mit Azure Databricks konfigurieren.

Externe Speicherorte ordnen Unity Catalog-Speicheranmeldeinformationen Cloudobjektspeichercontainern zu. Externe Speicherorte werden verwendet, um verwaltete Speicherorte für Kataloge und Schemas zu definieren und Speicherorte für externe Tabellen und externe Volumes zu definieren.

Sie können einen externen Speicherort erstellen, der auf den Speicher in einem Azure Data Lake Storage Gen2-Speichercontainer oder Cloudflare R2-Bucket verweist.

Sie können einen externen Speicherort mithilfe des Katalog-Explorers, der Databricks CLI, SQL-Befehlen in einem Notebook oder einer Databricks SQL-Abfrage oder Terraform erstellen.

Hinweis

Wenn Sie ein Volume definieren, wird der Cloud-URI-Zugriff auf Daten im Volumepfad durch die Berechtigungen des Volumes gesteuert.

Vorbemerkungen

Voraussetzungen:

Berechtigungsanforderungen:

  • Sie müssen sowohl für den Metaspeicher als auch für die Speicheranmeldung, auf die im externen Speicherort verwiesen wird, die Berechtigung CREATE EXTERNAL LOCATION besitzen. Metastore-Administrator*innen haben standardmäßig die Berechtigung CREATE EXTERNAL LOCATION im Metastore.

Erstellen eines externen Speicherorts mithilfe des Katalog-Explorers

Sie können manuell einen externen Speicherort mithilfe des Catalog-Explorers erstellen.

Berechtigungen und Voraussetzungen: Siehe "Bevor Sie beginnen".

So erstellen Sie den externen Speicherort

  1. Melden Sie sich bei einem Arbeitsbereich an, der dem Metastore angefügt ist.

  2. Klicken Sie in der Seitenleiste auf KatalogsymbolKatalog.

  3. Klicken Sie auf die Schaltfläche + Hinzufügen und wählen Sie Externen Speicherort hinzufügen aus.

  4. Geben Sie den Namen des externen Speicherorts ein.

  5. Kopieren Sie optional den Containerpfad von einem vorhandenen Bereitstellungspunkt (nur Azure Data Lake Storage Gen2-Container).

  6. Wenn Sie nicht von einem vorhandenen Bereitstellungspunkt kopieren, verwenden Sie das Feld URL, um den Speichercontainerpfad oder R2-Bucketpfad einzugeben, der als externer Speicherort verwendet werden soll.

    Zum Beispiel: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> oder r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Wählen Sie die Speicheranmeldeinformationen aus, die Zugriff auf den externen Speicherort gewähren.

  8. (Optional:) Wenn Benutzer*innen schreibgeschützten Zugriff auf den externen Speicherort haben sollen, klicken Sie auf Erweiterte Optionen, und wählen Sie Schreibgeschützt aus. Weitere Informationen finden Sie unter Markieren eines externen Speicherorts als schreibgeschützt.

  9. Klicken Sie auf Erstellen.

  10. Erteilen Sie die Berechtigung für die Verwendung des externen Speicherorts.

    Wenn eine Person den externen Speicherort verwenden soll, müssen Sie Berechtigungen erteilen:

    • Um den externen Speicherort als verwalteten Speicherort für einen Metastore, einen Katalog oder ein Schema hinzuzufügen, erteilen Sie die Berechtigung CREATE MANAGED LOCATION.
    • Um externe Tabellen oder Volumes zu erstellen, erteilen Sie CREATE EXTERNAL TABLE oder CREATE EXTERNAL VOLUME.

    So verwenden Sie den Katalog-Explorer zum Erteilen von Berechtigungen

    1. Klicken Sie auf den Namen des externen Speicherorts, um den Detailbereich zu öffnen.
    2. Klicken Sie auf der Registerkarte Berechtigungen auf Erteilen.
    3. Wählen Sie im Dialogfeld Erteilen für <external location> Benutzer*innen, Gruppen oder Dienstprinzipale im Feld Prinzipale aus, und wählen Sie dann die Berechtigungen aus, die Sie erteilen möchten.
    4. Klicken Sie auf Erteilen.

Erstellen eines externen Speicherorts mithilfe von SQL

Führen Sie zum Erstellen eines externen Speicherorts mit SQL den folgenden Befehl in einem Notebook oder dem SQL-Abfrage-Editor aus. Ersetzen Sie die folgenden Platzhalterwerte.

Berechtigungen und Voraussetzungen: Siehe "Bevor Sie beginnen".

  • <location-name>: Ein Name für den externen Speicherort. Wenn location_name Sonderzeichen wie Bindestriche (-) enthält, muss es von Backticks (` `) umgeben sein. Siehe Namen.

  • <bucket-path>: Der Pfad in Ihrem Cloudmandanten, auf den dieser externe Speicherort Zugriff gewährt. Zum Beispiel: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> oder r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: Der Name der Speicheranmeldeinformationen, die das Lesen aus und Schreiben in den Speichercontainer oder Bucketpfad autorisieren. Wenn der Name der Speicheranmeldeinformationen Sonderzeichen enthält, z. B. Bindestriche (-), muss er von Backticks (` `) umgeben sein.

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Nächste Schritte