Freigeben über


Herstellen einer Verbindung mit einem externen DBFS-Stammspeicherort (Legacy)

Diese Seite beschreibt, wie Sie eine Verbindung mit einem externen Speicherort des Databricks File System (DBFS)-Stammspeichers herstellen. Nachdem Sie eine Verbindung hergestellt haben, können Sie den Zugriff auf Objekte im DBFS-Stammspeicher mithilfe des Unity-Katalogs steuern.

Obwohl Databricks nicht empfiehlt, Daten im DBFS-Stammspeicher zu speichern, kann Ihr Arbeitsbereich dies aufgrund älterer Praktiken tun. Beispielsweise könnte ihr lokales, älteres Azure Databricks Hive-Metaspeicher Daten im DBFS-Stammverzeichnis gespeichert haben. Befolgen Sie dieses Handbuch, um eine Verbindung mit dem DBFS-Stamm herzustellen, indem Sie zuerst ein Speicheranmeldeinformationsobjekt erstellen, das den Zugriff auf den DBFS-Stamm ermöglicht, und dann ein externes Speicherortobjekt , das den Pfad zum DBFS-Stamm definiert. Mit diesen Objekten können Sie eine Verbindung mit Ihrem legacy-Hive-Metastore herstellen, damit Ihr Team mit Ihren Hive-Metastore-Tabellen mithilfe des Unity-Katalogs arbeiten kann. Siehe Hive-Metastore-Verbund: Aktivieren Sie Unity Catalog, um Tabellen zu verwalten, die in einem Hive-Metastore registriert sind und Aktivieren Sie den Hive-Metastore-Verbund für einen älteren Arbeitsbereich-Hive-Metastore.

Vorbemerkungen

Um einen externen Speicherort für den DBFS-Stamm zu erstellen, müssen Sie über eine Speicheranmeldeinformation im Unity-Katalog verfügen, die Zugriff auf den Cloudspeicherort des DBFS-Stamms gewährt. Wenn Sie noch nicht über eins verfügen, kann das System während des Erstellungsprozesses des externen Speicherorts eins für Sie erstellen.

Berechtigungsanforderungen:

  • Sie müssen über die CREATE STORAGE CREDENTIAL und CREATE EXTERNAL LOCATION Berechtigungen für den Metastore verfügen. Metastoreadministratoren verfügen standardmäßig über diese Berechtigungen.

    Note

    Wenn bereits Speicheranmeldeinformationen für den Speicherort des DBFS-Stammes vorhanden sind, benötigt der Benutzer, der den externen Speicherort erstellt, keine CREATE STORAGE CREDENTIAL, aber CREATE EXTERNAL LOCATION sowohl für die Speicheranmeldeinformationen als auch den Metastore.

  • Sie müssen ein Administrator des Arbeitsbereichs sein, damit das System bei der Erstellung externer Speicherorte die Speicherberechtigung für Sie erstellt.

    Sie müssen kein Arbeitsbereichsadministrator sein, wenn eine Speicheranmeldeinformation, die Zugriff auf den DBFS-Stammspeicherort gewährt, bereits vorhanden ist und Sie CREATE EXTERNAL LOCATION sowohl für die Speicheranmeldeinformation als auch für den Metastore besitzen.

Erstellen des externen Speicherorts

Sie können den Katalog-Explorer verwenden, um einen externen Speicherort für den DBFS-Stamm zu erstellen.

  1. Klicken Sie in der Randleiste auf das Datensymbol.Katalog.

  2. Klicken Sie auf "Externe Daten > ", und erstellen Sie den externen Speicherort.

  3. Geben Sie den Namen des externen Speicherorts ein.

  4. Wählen Sie für den SpeichertypDBFS-Stamm aus.

    Die URL - und Unterpfadfelder werden mit dem Cloudspeicherpfad zum DBFS-Stamm aufgefüllt.

    Important

    Wenn Sie einen externen Speicherort für den DBFS-Stamm erstellen, müssen Sie den Unterpfad zum DBFS-Stammspeicherort und nicht den Pfad zum gesamten Bucket verwenden. Die URL und der Unterpfad werden mit user/hive/warehouse vorbefüllt, was der standardmäßige Speicherort für Hive-Metaspeichertabellen ist. Wenn Sie eine differenzierte Zugriffssteuerung für die Daten im DBFS-Stamm benötigen, können Sie separate externe Speicherorte für Unterpfade innerhalb des DBFS-Stamms erstellen.

    Warning

    Ihr DBFS-Stamm kann in Azure Blob Storage anstelle von Azure Data Lake Storage gespeichert werden. Auf diese Speicherorte wird mithilfe des wasb Treibers zugegriffen, der keine Steuerelemente auf Verzeichnis- oder Dateiebene zulässt. Daher kann Unity Catalog die Zugriffssteuerung nur auf Containerebene erzwingen. Dies bedeutet, dass Benutzer mit Zugriff auf diesen externen Speicherort potenziell auf andere Daten im selben Container zugreifen können, wenn sie Computeressourcen mit dediziertem Zugriffsmodus (früher einzelbenutzerzugriffsmodus) verwenden. Um dies zu verhindern, erzwingen Sie die Verwendung des standardmäßigen Zugriffsmodus (früher geteilter Zugriffsmodus) für Rechenressourcen, SQL-Data Warehouses oder serverlose Berechnungen.

  5. Wählen Sie eine Speicheranmeldeinformation aus, die Zugriff auf den DBFS-Stammspeicherort für die Cloud gewährt, oder klicken Sie, wenn keine definiert wurde, auf +Neue Speicheranmeldeinformationen erstellen.

    Beim Speichern des externen Speicherorts wird automatisch eine Speicheranmeldeinformation erstellt.

  6. (Optional) Fügen Sie einen Kommentar hinzu.

  7. (Optional) Klicken Sie auf "Erweiterte Optionen" , und aktivieren Sie den Fallbackmodus.

    Der Fallbackmodus ist für Legacy-Workloadmigrationsszenarien vorgesehen. Siehe Fallbackmodus an externen Standorten aktivieren.

  8. Klicken Sie auf "Erstellen".

  9. Wechseln Sie zur Registerkarte "Berechtigungen ", um berechtigungen für die Verwendung des externen Speicherorts zu erteilen.

    1. Klicken Sie auf Gewähren.
    2. Wählen Sie Benutzer, Gruppen oder Dienstprinzipale im Feld "Prinzipale" aus, und wählen Sie die Berechtigungen aus, die Sie erteilen möchten.
    3. Klicken Sie auf Gewähren.
  10. (Optional) Legen Sie die Arbeitsbereiche fest, die auf diesen externen Speicherort zugreifen können.

    Standardmäßig können Benutzern in jedem Arbeitsbereich, der diesen Unity-Katalogmetastore verwendet, Zugriff auf die Daten an diesem Speicherort gewährt werden. Sie können diesen Zugriff auf bestimmte Arbeitsbereiche einschränken. Databricks empfiehlt, den Zugriff auf den Arbeitsbereich einzuschränken, in dem sich der DBFS-Stamm befindet.

    Siehe Binden eines externen Speicherorts an einen oder mehrere Arbeitsbereiche.