Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie opisano sposób nawiązywania połączenia z lokalizacją zewnętrzną Azure Data Lake Storage Gen2 (ADLS Gen2). Po zakończeniu tego połączenia można zarządzać dostępem do tych obiektów usługi ADLS Gen2 za pomocą Unity Catalog.
Aby połączyć się ze ścieżką kontenera ADLS Gen2, potrzebne są dwa obiekty zabezpieczane w usłudze Unity Catalog. Pierwszym jest poświadczenie magazynu danych, które określa tożsamość zarządzaną platformy Azure, umożliwiającą dostęp do kontenera ADLS Gen2. To poświadczenie dostępu do magazynu jest potrzebne dla drugiego wymaganego obiektu: lokalizacji zewnętrznej, która definiuje ścieżkę do lokalizacji magazynu ADLS Gen2 oraz poświadczenia wymagane do uzyskania dostępu do tej lokalizacji.
Requirements
W usłudze Azure Databricks:
- Obszar roboczy usługi Azure Databricks z obsługą Unity Catalog.
-
CREATE STORAGE CREDENTIALuprawnienie do repozytorium metadanych Unity Catalog przypisanego do obszaru roboczego. Administratorzy kont i administratorzy magazynu metadanych mają domyślnie te uprawnienia. -
CREATE EXTERNAL LOCATIONuprawnienie zarówno w metastore usługi Unity Catalog, jak i w poświadczeniu dostępu do magazynu, do którego odwołuje się lokalizacja zewnętrzna. Administratorzy magazynu metadanych i administratorzy obszaru roboczego mają domyślnie te uprawnienia.
Na koncie Azure:
Konto magazynu ADLS Gen2 i jego kontener. Aby uniknąć opłat za ruch wychodzący, powinno to znajdować się w tym samym regionie co obszar roboczy, z którego chcesz uzyskać dostęp do danych.
Ścieżki lokalizacji zewnętrznej muszą zawierać tylko standardowe znaki ASCII (litery
A–Z,a–z, cyfry0–9i typowe symbole, takie jak/,_,-).Konta magazynu Azure Data Lake Storage, które są używane jako lokalizacje zewnętrzne, muszą mieć hierarchiczną przestrzeń nazw.
Nie można używać kontenerów magazynu Azure z włączonymi zasadami niezmienności (WORM — zapis raz, odczyt wielu) jako lokalizacji zewnętrznych. Katalog Unity wymaga uprawnień DELETE do kontenerów magazynu, co uniemożliwiają zasady niezmienności. Aby uzyskać więcej informacji na temat zasad niezmienności, zobacz Konfigurowanie zasad niezmienności dla kontenerów.
Jeśli dostęp do sieci publicznej jest wyłączony na koncie magazynu, musisz włączyć opcję Zezwalaj na zaufane usługi platformy Azure , aby zezwolić usłudze Azure Databricks na łączenie się z kontem magazynu. To ustawienie można skonfigurować przy użyciu Azure CLI:
# Check current network rule set az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query "networkRuleSet" # Set bypass for Azure Services az storage account update \ --name <storage_account_name> \ --resource-group <resource_group_name> \ --bypass AzureServices
Uprawnienie do tworzenia łącznika dostępu dla Azure Databricks w ramach subskrypcji Azure. W tym celu musisz być
ContributorlubOwnergrupy zasobów platformy Azure.Uprawnienie do modyfikowania zasad dostępu dla konta magazynowego. Aby to zrobić, musisz być właścicielem lub użytkownikiem mającym przypisaną rolę
User Access AdministratorAzure RBAC na koncie magazynu danych.
Utwórz poświadczenie magazynu zapewniające dostęp do usługi ADLS Gen2
Aby utworzyć poświadczenie magazynu umożliwiające dostęp do kontenera ADLS Gen2, należy najpierw utworzyć łącznik dostępu dla usługi Azure Databricks przy użyciu tożsamości zarządzanej, a następnie nadać tej tożsamości zarządzanej dostęp do konta magazynu.
Krok 1: Tworzenie łącznika dostępu dla Azure Databricks
Łącznik dostępu w usłudze Azure Databricks to natywny zasób platformy Azure firmy Microsoft, który umożliwia połączenie tożsamości zarządzanych z kontem usługi Azure Databricks. Każdy łącznik dostępu dla usługi Azure Databricks może zawierać tożsamość zarządzaną przypisaną przez system, co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika lub obie te tożsamości.
Zaloguj się do Azure Portal jako współautor lub właściciel grupy zasobów.
Kliknij pozycję + Utwórz lub Utwórz zasób.
Wyszukaj Access Connector for Azure Databricks i wybierz to.
Kliknij pozycję Utwórz.
Na karcie Podstawowe zaakceptuj, wybierz lub wprowadź wartości dla następujących pól:
- Subskrypcja: jest to subskrypcja platformy Azure, w której zostanie utworzony łącznik dostępu. Wartość domyślna to subskrypcja platformy Azure, której obecnie używasz. Może to być dowolna subskrypcja w dzierżawie.
- Grupa zasobów: jest to grupa zasobów Azure, w której zostanie utworzony łącznik dostępu.
- Nazwa: wprowadź nazwę wskazującą przeznaczenie łącznika.
- Region: powinien to być ten sam region co konto przechowywania.
Kliknij przycisk Dalej, wprowadź tagi, a następnie kliknij przycisk Dalej.
Na karcie Tożsamość Zarządzana utwórz tożsamości zarządzane w następujący sposób:
- Aby użyć tożsamości zarządzanej przypisanej przez system, ustaw opcję Status na Włączone.
- Aby dodać tożsamości zarządzane przypisane przez użytkownika, kliknij pozycję + Dodaj i wybierz co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika.
Kliknij Przejrzyj i utwórz.
Przejrzyj ustawienia konfiguracji, a następnie kliknij pozycję Utwórz.
Po zakończeniu wdrażania kliknij przycisk Przejdź do zasobu.
Zanotuj Identyfikator zasobu.
Identyfikator zasobu ma format:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Krok 2: Udziel tożsamości zarządzanej dostępu do konta magazynowego
Aby udzielić uprawnień w tym kroku, musisz mieć rolę Owner lub User Access Administrator Azure RBAC na koncie usługi przechowywania.
Podczas udzielania tożsamości zarządzanej dostępu do konta magazynu i kontenera są dostępne następujące opcje:
- Udziel dostępu do odczytu i zapisu na całym koncie magazynu za pomocą roli
Storage Blob Data Contributor. - Przyznaj bardziej ograniczoną rolę na koncie przechowywania przy użyciu roli
Storage Blob Delegator, oraz przyznaj dostęp do odczytu i zapisu do określonego kontenera przy użyciu roliStorage Blob Data Contributor.
W poniższych instrukcjach zakłada się, że przyznajesz rolę Storage Blob Data Contributor na koncie magazynu, ale w razie potrzeby można zastąpić ją innymi opcjami:
- Zaloguj się do konta usługi Azure Data Lake Storage.
- Przejdź do Access Control (IAM) kliknij pozycję + Dodaj i wybierz pozycję Dodaj przypisanie roli.
- Wybierz rolę Storage Blob Data Contributor i kliknij Dalej.
- W sekcji Przypisz dostęp do wybierz Tożsamość zarządzaną.
- Kliknij +Wybierz członków i wybierz albo łącznik dostępu do Azure Databricks, albo tożsamość zarządzaną przypisaną przez użytkownika.
- Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Krok 3. Nadaj tożsamości zarządzanej dostęp do zdarzeń związanych z plikami
Udzielanie tożsamości zarządzanej dostępu do zdarzeń plików umożliwia usłudze Azure Databricks subskrybowanie powiadomień o zdarzeniach plików emitowanych przez dostawców chmury. Dzięki temu przetwarzanie plików jest bardziej wydajne. Aby uzyskać więcej informacji, zobacz Skonfiguruj zdarzenia plików dla lokalizacji zewnętrznej.
Aby przyznać uprawnienia w tym kroku, musisz mieć rolę Właściciela lub Administratora dostępu użytkownika RBAC w usłudze Azure na swoim koncie magazynu.
- Zaloguj się do konta usługi Azure Data Lake Storage.
- Przejdź do Access Control (IAM) kliknij pozycję + Dodaj i wybierz pozycję Dodaj przypisanie roli.
- Wybierz rolę Współautora danych w kolejce Storage, a następnie kliknij Dalej.
- W sekcji Przypisz dostęp do wybierz Tożsamość zarządzaną.
- Kliknij +Wybierz członków i wybierz albo łącznik dostępu do Azure Databricks, albo tożsamość zarządzaną przypisaną przez użytkownika.
- Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Krok 4: Udzielanie Azure Databricks dostępu do konfigurowania zdarzeń plików w Twoim imieniu
Note
Jeśli nie przyznasz usłudze Azure Databricks dostępu do konfigurowania zdarzeń plików w Twoim imieniu, musisz ręcznie skonfigurować zdarzenia plików dla każdej lokalizacji. Pomijanie tej ręcznej konfiguracji ogranicza dostęp do kilku funkcji usługi Databricks. Aby uzyskać więcej informacji na temat zdarzeń plików, zobacz Konfigurowanie zdarzeń plików dla lokalizacji zewnętrznej.
Ten krok daje możliwość usłudze Azure Databricks automatycznego ustawiania zdarzeń plików. Aby przyznać uprawnienia w tym kroku, musisz mieć role właściciela lub administratora dostępu użytkowników Azure RBAC na swojej tożsamości zarządzanej oraz w grupie zasobów, w której znajduje się konto usługi Azure Data Lake Storage.
Postępuj zgodnie z instrukcjami w Kroku 3: Przyznaj tożsamości zarządzanej dostęp do zdarzeń plików i przypisz do swojej tożsamości zarządzanej rolę Storage Account Contributor.
Ta rola nie zastępuje ról przyznanych w krokach 2 lub 3 na tej stronie, ale jest poza nimi.
Przejdź do grupy zasobów platformy Azure, w którą znajduje się twoje konto usługi Azure Data Lake Storage.
Przejdź do Access Control (IAM) kliknij pozycję + Dodaj i wybierz pozycję Dodaj przypisanie roli.
Wybierz rolę EventGrid EventSubscription Contributor i kliknij Dalej.
W sekcji Przypisz dostęp do wybierz Tożsamość zarządzaną.
Kliknij +Wybierz członków i wybierz albo łącznik dostępu do Azure Databricks, albo tożsamość zarządzaną przypisaną przez użytkownika.
Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Krok 5. Tworzenie poświadczeń magazynu w usłudze Databricks
Po utworzeniu łącznika dostępu z tożsamością zarządzaną i udzieleniu mu uprawnień do konta magazynowego możesz utworzyć poświadczenie magazynowe w Azure Databricks.
Zaloguj się do obszaru roboczego Azure Databricks z włączonym Unity Catalog jako użytkownik, który ma uprawnienie
CREATE STORAGE CREDENTIALdo magazynu metadanych.Na pasku bocznym kliknij
Wykaz.
Kliknij
, a następnie kliknij pozycję Utwórz poświadczenie.Wybierz typ poświadczeniazarządzanej tożsamości Azure.
Wprowadź nazwę poświadczenia magazynu i opcjonalny komentarz.
Wprowadź identyfikator łącznika programu Access (identyfikator zasobu zanotowany w kroku 1).
Identyfikator zasobu ma format:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>(Opcjonalnie) Jeśli łącznik dostępu został utworzony przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, wprowadź identyfikator tożsamości zarządzanej (identyfikator zasobu tożsamości zarządzanej).
(Opcjonalnie) Jeśli chcesz, aby użytkownicy mieli dostęp tylko do odczytu do zewnętrznych lokalizacji korzystających z tego poświadczenia magazynowego, kliknij pozycję Opcje zaawansowane i wybierz pozycję Ogranicz do trybu tylko do odczytu. Aby uzyskać więcej informacji, zobacz Oznaczanie poświadczeń magazynu jako tylko do odczytu.
Kliknij pozycję Utwórz.
(Opcjonalnie) Powiąż poświadczenie dostępu do magazynu danych z określonymi obszarami roboczymi.
Domyślnie każdy uprzywilejowany użytkownik może używać poświadczeń magazynowania w dowolnym obszarze roboczym dołączonym do magazynu metadanych. Jeśli chcesz zezwolić na dostęp tylko z określonych obszarów roboczych, przejdź do karty Obszary robocze i przypisz obszary robocze. Zobacz Przypisywanie poświadczenia dostępu do magazynu do określonych obszarów roboczych.
Teraz możesz utworzyć lokalizację zewnętrzną, odwołującą się do poświadczenia magazynu.
Tworzenie lokalizacji zewnętrznej dla kontenera usługi ADLS Gen2
W tej sekcji opisano sposób tworzenia lokalizacji zewnętrznej przy użyciu Eksploratora wykazu lub programu SQL. Zakłada się, że masz już poświadczenia dostępu do magazynu, które umożliwiają dostęp do kontenera usługi ADLS Gen2. Jeśli nie masz poświadczeń magazynu, wykonaj kroki opisane w temacie Tworzenie poświadczeń magazynu, które uzyskują dostęp do usługi ADLS Gen2.
Opcja 1. Ręczne tworzenie lokalizacji zewnętrznej przy użyciu Eksploratora wykazu
Lokalizację zewnętrzną można utworzyć ręcznie za pomocą Eksploratora wykazu.
Aby utworzyć lokalizację zewnętrzną:
Zaloguj się do obszaru roboczego dołączonego do magazynu metadanych.
Na pasku bocznym kliknij
Wykaz.
Kliknij
, a następnie kliknij pozycję Utwórz lokalizację zewnętrzną.Wprowadź nazwę lokalizacji zewnętrznej.
W obszarze Typ magazynu wybierz Azure.
W obszarze Adres URL wprowadź ścieżkę kontenera usługi ADLS Gen2. Na przykład
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/<path>.W obszarze Poświadczenia magazynu wybierz poświadczenia magazynu, które udzielają dostępu do lokalizacji zewnętrznej.
(Opcjonalnie) Jeśli chcesz, aby użytkownicy mieli dostęp tylko do odczytu do lokalizacji zewnętrznej, kliknij pozycję Opcje zaawansowane i wybierz pozycję Ogranicz do użycia tylko do odczytu. Aby uzyskać więcej informacji, zobacz Oznaczanie lokalizacji zewnętrznej jako tylko do odczytu.
(Opcjonalnie) Jeśli lokalizacja zewnętrzna jest przeznaczona dla katalogu federacyjnego metastore Hive, kliknij pozycję Opcje zaawansowane i włącz tryb awaryjny .
Zobacz Włączanie trybu rezerwowego w lokalizacjach zewnętrznych.
(Opcjonalnie) Aby umożliwić subskrybowanie powiadomień o zmianie w lokalizacji zewnętrznej, kliknij pozycję Opcje zaawansowane i wybierz pozycję Włącz zdarzenia plików.
Aby uzyskać więcej informacji, zobacz Skonfiguruj zdarzenia plików dla lokalizacji zewnętrznej.
Kliknij pozycję Utwórz.
(Opcjonalnie) Powiąż lokalizację zewnętrzną z określonymi obszarami roboczymi.
Domyślnie każdy uprzywilejowany użytkownik może używać lokalizacji zewnętrznej w dowolnym obszarze roboczym dołączonym do magazynu metadanych. Jeśli chcesz zezwolić na dostęp tylko z określonych obszarów roboczych, przejdź do karty Obszary robocze i przypisz obszary robocze. Zobacz Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.
Przejdź do karty Uprawnienia, aby udzielić uprawnień do korzystania z lokalizacji zewnętrznej.
Aby każda osoba korzystała z lokalizacji zewnętrznej, musisz przyznać uprawnienia:
- Aby użyć zewnętrznej lokalizacji do dodania zarządzanej lokalizacji magazynu do metastore, katalogu lub schematu, przyznaj uprawnienie
CREATE MANAGED LOCATION. - Aby utworzyć tabele zewnętrzne lub woluminy, przyznaj
CREATE EXTERNAL TABLElubCREATE EXTERNAL VOLUME.
Wykonaj te kroki:
- Kliknij Grant.
- W oknie dialogowym dotyczącego
<external location>wybierz użytkowników, grupy lub podmioty usług w polu Principals i wybierz uprawnienie, które chcesz przyznać. - Kliknij Grant.
- Aby użyć zewnętrznej lokalizacji do dodania zarządzanej lokalizacji magazynu do metastore, katalogu lub schematu, przyznaj uprawnienie
Opcja 2. Tworzenie lokalizacji zewnętrznej przy użyciu języka SQL
Aby utworzyć lokalizację zewnętrzną przy użyciu języka SQL, uruchom następujące polecenie w notesie lub edytorze zapytań SQL. Zastąp wartości zastępcze. Aby uzyskać wymagane uprawnienia i wymagania wstępne, zobacz Wymagania.
-
<location-name>: nazwa lokalizacji zewnętrznej. Jeślilocation_namezawiera znaki specjalne, takie jak łączniki (-), musi być otoczony przez cudzysłowy odwrotne (` `). Zobacz Nazwy. -
<container-path>: ścieżka w dzierżawie chmury, do której ta lokalizacja zewnętrzna zapewnia dostęp. Na przykładabfss://mycontainer@mystorageaccount.dfs.core.windows.net/. -
<storage-credential-name>: Nazwa poświadczenia magazynu danych, które uprawnia do odczytu z kontenera i zapisu do niego. Jeśli nazwa poświadczeń magazynu zawiera znaki specjalne, takie jak łączniki (-), musi być ujęta w apostrofy (` `).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<container-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Jeśli chcesz ograniczyć dostęp lokalizacji zewnętrznej do określonych obszarów roboczych na koncie, nazywanym również powiązaniem obszaru roboczego lub izolacją lokalizacji zewnętrznej, zobacz Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.
Weryfikowanie połączenia
Aby sprawdzić, czy lokalizacja zewnętrzna została pomyślnie utworzona, spróbuj odczytać plik z lokalizacji zewnętrznej. Załóżmy na przykład, że masz lokalizację abfss://mycontainer@mystorageaccount.dfs.core.windows.net/ zewnętrzną zawierającą plik CSV o nazwie example.csv. Aby odczytać plik abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv , wykonaj następujące kroki:
Na pasku bocznym kliknij
Obszar roboczy.
Kliknij pozycję Utwórz, a następnie wybierz pozycję Notatnik.
Uruchom następujący fragment kodu Python:
display(dbutils.fs.ls('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/'))Spowoduje to wyświetlenie listy ścieżek plików w lokalizacji zewnętrznej. W tym przykładzie plik
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvpojawi się w wyniku.Aby odczytać określony plik w lokalizacji zewnętrznej, uruchom następujący fragment kodu Python:
spark.read.format("csv") \ .option("header", "true") \ .option("delimiter", ";") \ .load('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv') \ .display()Spowoduje to wyświetlenie danych w
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvpliku.
Następne kroki
- Udziel innym użytkownikom uprawnień do używania lokalizacji zewnętrznych. Zobacz Zarządzanie lokalizacjami zewnętrznymi.
- Zdefiniuj zarządzane lokalizacje magazynu przy użyciu lokalizacji zewnętrznych. Zobacz Określanie zarządzanej lokalizacji magazynowej w Unity Catalog.
- Zdefiniuj tabele zewnętrzne przy użyciu lokalizacji zewnętrznych. Zobacz Praca z tabelami zewnętrznymi.
- Zdefiniuj woluminy zewnętrzne przy użyciu lokalizacji zewnętrznych. Zobacz Czym są wolumeny Unity Catalog?.