Udostępnij za pośrednictwem


Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks

W tym artykule opisano sposób konfigurowania lokalizacji zewnętrznej w katalogu aparatu Unity w celu połączenia magazynu w chmurze z usługą Azure Databricks.

Lokalizacje zewnętrzne kojarzą poświadczenia magazynu wykazu aparatu Unity z kontenerami magazynu obiektów w chmurze. Lokalizacje zewnętrzne służą do definiowania zarządzanych lokalizacji magazynu dla katalogów i schematów oraz do definiowania lokalizacji dla tabel zewnętrznych i woluminów zewnętrznych.

Możesz utworzyć lokalizację zewnętrzną, która odwołuje się do magazynu w kontenerze magazynu usługi Azure Data Lake Storage Gen2 lub zasobniku Cloudflare R2.

Lokalizację zewnętrzną można utworzyć przy użyciu Eksploratora wykazu, interfejsu wiersza polecenia usługi Databricks, poleceń SQL w notesie lub zapytaniu SQL usługi Databricks albo narzędzia Terraform.

Aby uzyskać więcej informacji na temat używania lokalizacji zewnętrznych i relacji między poświadczeniami magazynu i lokalizacjami zewnętrznymi, zobacz Zarządzanie dostępem do magazynu w chmurze przy użyciu wykazu aparatu Unity.

Przed rozpoczęciem

Wymagania wstępne:

Wymagania dotyczące uprawnień:

  • Musisz mieć CREATE EXTERNAL LOCATION uprawnienia zarówno w magazynie metadanych, jak i poświadczeniu magazynu, do którego odwołuje się lokalizacja zewnętrzna. Administratorzy magazynu metadanych domyślnie mają w CREATE EXTERNAL LOCATION magazynie metadanych.
  • Jeśli tworzysz lokalizację zewnętrzną dla głównej lokalizacji magazynu w systemie plików DBFS, system może utworzyć dla Ciebie poświadczenia magazynu, ale musisz być administratorem obszaru roboczego. Aby uzyskać szczegółowe informacje, zobacz Tworzenie lokalizacji zewnętrznej dla danych w głównym systemie plików DBFS

Ręczne tworzenie lokalizacji zewnętrznej przy użyciu Eksploratora wykazu

Lokalizację zewnętrzną można utworzyć ręcznie za pomocą Eksploratora wykazu.

Uprawnienia i wymagania wstępne: zobacz Przed rozpoczęciem.

Aby utworzyć lokalizację zewnętrzną:

  1. Zaloguj się do obszaru roboczego dołączonego do magazynu metadanych.

  2. Na pasku bocznym kliknij pozycję Ikona wykazuWykaz.

  3. Na stronie Szybki dostęp kliknij >zewnętrzne, przejdź do karty Lokalizacje zewnętrzne i kliknij pozycję Utwórz lokalizację.

  4. Wprowadź nazwę lokalizacji zewnętrznej.

  5. W polu adresu URLwprowadź lub wybierz ścieżkę do lokalizacji zewnętrznej. Dostępne są trzy opcje:

    • Aby skopiować ścieżkę kontenera z istniejącego punktu montowania DBFS , kliknij Kopiuj z DBFS.

    • Aby skopiować ścieżkę podrzędną do głównej lokalizacji magazynu systemu plików DBFS, kliknij przycisk Kopiuj z systemu plików DBFS i wybierz pozycję Kopiuj z katalogu głównego systemu plików DBFS. Jeśli jesteś administratorem obszaru roboczego, system utworzy również poświadczenie magazynu dla ciebie.

      Zobacz Utwórz zewnętrzną lokalizację dla danych w katalogu głównym DBFS.

    • Jeśli nie kopiujesz z istniejącego punktu instalacji lub katalogu głównego systemu plików DBFS, użyj pola adresu URL , aby wprowadzić kontener magazynu lub ścieżkę zasobnika R2, której chcesz użyć jako lokalizacji zewnętrznej.

      Na przykład: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> lub r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  6. Wybierz poświadczenia magazynu, które udzielają dostępu do lokalizacji zewnętrznej.

    Uwaga

    Jeśli lokalizacja zewnętrzna dotyczy katalogu głównego DBFS i jesteś administratorem obszaru roboczego, system tworzy dla Ciebie poświadczenia dostępowe do magazynu i nie musisz ich wybierać.

    Jeśli nie masz poświadczeń magazynu, możesz je utworzyć:

    1. Na liście rozwijanej poświadczeń usługi Storage wybierz pozycję + Utwórz nowe poświadczenia magazynu.

    2. Na liście rozwijanej Typ poświadczeń wybierz typ poświadczeń, których chcesz użyć w obiekcie poświadczenia przechowywania: Tożsamość zarządzana platformy Azure lub token interfejs API Cloudflare.

    3. W polu Tożsamość zarządzana platformy Azure wprowadź identyfikator łącznika dostępu i (opcjonalnie) tożsamość zarządzaną przypisaną przez użytkownika, która zapewnia dostęp do lokalizacji magazynu. Aby uzyskać tokeny API Cloudflare, wprowadź konto Cloudflare, identyfikator klucza dostępu i tajny klucz dostępu.

      Aby uzyskać więcej informacji, zobacz Utwórz poświadczenie magazynu, aby połączyć się z Azure Data Lake Storage Gen2 lub Utwórz poświadczenie magazynu, aby połączyć się z Cloudflare R2.

  7. (Opcjonalnie) Jeśli chcesz, aby użytkownicy mieli dostęp tylko do odczytu do lokalizacji zewnętrznej, kliknij pozycję Opcje zaawansowane i wybierz pozycję Tylko do odczytu. Aby uzyskać więcej informacji, zobacz Oznaczanie lokalizacji zewnętrznej jako tylko do odczytu.

  8. (Opcjonalnie) Jeśli lokalizacja zewnętrzna jest przeznaczona dla katalogu federacyjnego metadanych Hive, kliknij Opcje zaawansowane i włącz tryb rezerwowy .

    Zobacz Włączanie trybu rezerwowego w lokalizacjach zewnętrznych.

  9. Kliknij pozycję Utwórz.

  10. (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 (Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.

  11. 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ć lokalizacji zewnętrznej, aby dodać zarządzaną lokalizację magazynu do magazynu metadanych, katalogu lub schematu, przyznaj CREATE MANAGED LOCATION uprawnienie.
    • Aby utworzyć tabele zewnętrzne lub woluminy, przyznaj CREATE EXTERNAL TABLE lub CREATE EXTERNAL VOLUME.
    1. Kliknij pozycję Udziel.
    2. W oknie dialogowym Przyznawanie <external location> wybierz użytkowników, grupy lub jednostki usługi w polu Podmioty zabezpieczeń i wybierz uprawnienie, które chcesz przyznać.
    3. Kliknij pozycję Udziel.

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 symboli zastępczych. Aby uzyskać wymagane uprawnienia i wymagania wstępne, zobacz Przed rozpoczęciem.

  • <location-name>: nazwa lokalizacji zewnętrznej. Jeśli location_name zawiera znaki specjalne, takie jak łączniki (-), musi być otoczony przez backticks (` `). Zobacz Nazwy.

  • <bucket-path>: ścieżka w dzierżawie chmury, do którego ta lokalizacja zewnętrzna udziela dostępu. Na przykład: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> lub r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: nazwa poświadczeń magazynu, które autoryzuje odczyt z kontenera magazynu lub ścieżkę zasobnika i zapisuje je w kontenerze magazynu lub ścieżce zasobnika. Jeśli nazwa poświadczeń magazynu zawiera znaki specjalne, takie jak łączniki (-), musi być otoczona przez backticks (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-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 (Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.

(Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Domyślnie lokalizacja zewnętrzna jest dostępna ze wszystkich obszarów roboczych w magazynie metadanych. Oznacza to, że jeśli użytkownik otrzymał uprawnienie (takie jak READ FILES) w tej lokalizacji zewnętrznej, może wykonać to uprawnienie z dowolnego obszaru roboczego dołączonego do magazynu metadanych. Jeśli używasz obszarów roboczych do izolowania dostępu do danych użytkownika, możesz zezwolić na dostęp do lokalizacji zewnętrznej tylko z określonych obszarów roboczych. Ta funkcja jest nazywana powiązaniem obszaru roboczego lub izolacją lokalizacji zewnętrznej.

Typowe przypadki użycia powiązania lokalizacji zewnętrznej z określonymi obszarami roboczymi obejmują:

  • Zapewnienie, że inżynierowie danych, którzy mają CREATE EXTERNAL TABLE uprawnienia do lokalizacji zewnętrznej zawierającej dane produkcyjne, mogą tworzyć tabele zewnętrzne w tej lokalizacji tylko w obszarze roboczym produkcyjnym.
  • Zapewnienie, że inżynierowie danych, którzy mają READ FILES uprawnienia do lokalizacji zewnętrznej zawierającej poufne dane, mogą używać tylko określonych obszarów roboczych do uzyskiwania dostępu do tych danych.

Aby uzyskać więcej informacji na temat ograniczania innych typów dostępu do danych według obszaru roboczego, zobacz Ograniczanie dostępu wykazu do określonych obszarów roboczych.

Ważne

Powiązania obszaru roboczego są odwoływania się w momencie wykonywania uprawnień do lokalizacji zewnętrznej. Jeśli na przykład użytkownik tworzy tabelę zewnętrzną, wydając instrukcję CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' z myWorkspace obszaru roboczego, następujące kontrole powiązań obszaru roboczego są wykonywane oprócz regularnych kontroli uprawnień użytkownika:

  • Czy lokalizacja zewnętrzna jest 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' powiązana z myWorkspace?
  • Czy wykaz myCat jest powiązany myWorkspace z poziomem Read & Writedostępu?

Jeśli lokalizacja zewnętrzna jest następnie niezwiązana z myWorkspaceklasy , tabela zewnętrzna będzie nadal działać.

Ta funkcja umożliwia również wypełnienie wykazu z centralnego obszaru roboczego i udostępnienie go innym obszarom roboczym przy użyciu powiązań wykazu bez konieczności udostępniania lokalizacji zewnętrznej w innych obszarach roboczych.

Wiązanie lokalizacji zewnętrznej z co najmniej jednym obszarem roboczym

Aby przypisać lokalizację zewnętrzną do określonych obszarów roboczych, możesz użyć Eksploratora wykazu lub interfejsu wiersza polecenia usługi Databricks.

Wymagane uprawnienia: administrator magazynu metadanych, właściciel lokalizacji zewnętrznej lub MANAGE w lokalizacji zewnętrznej.

Uwaga

Administratorzy magazynu metadanych mogą wyświetlać wszystkie lokalizacje zewnętrzne w magazynie metadanych przy użyciu Eksploratora wykazu, a właściciele lokalizacji zewnętrznych mogą zobaczyć wszystkie lokalizacje zewnętrzne, które są właścicielami w magazynie metadanych— niezależnie od tego, czy lokalizacja zewnętrzna jest przypisana do bieżącego obszaru roboczego. Lokalizacje zewnętrzne, które nie są przypisane do obszaru roboczego, są wyszarywane.

Eksplorator wykazu

  1. Zaloguj się do obszaru roboczego połączonego z magazynem metadanych.

  2. Na pasku bocznym kliknij pozycję Ikona wykazuWykaz.

  3. Na stronie Szybki dostęp kliknij przycisk Dane > zewnętrzne, aby przejść do karty Lokalizacje zewnętrzne.

  4. Wybierz lokalizację zewnętrzną i przejdź do karty Obszary robocze .

  5. Na karcie Obszary robocze wyczyść pole wyboru Wszystkie obszary robocze mają dostęp.

    Jeśli lokalizacja zewnętrzna jest już powiązana z co najmniej jednym obszarem roboczym, to pole wyboru zostało już wyczyszczone.

  6. Kliknij pozycję Przypisz do obszarów roboczych i wprowadź lub znajdź obszary robocze, które chcesz przypisać.

Aby odwołać dostęp, przejdź do karty Obszary robocze , wybierz obszar roboczy i kliknij przycisk Odwołaj. Aby zezwolić na dostęp ze wszystkich obszarów roboczych, zaznacz pole wyboru Wszystkie obszary robocze mają dostęp .

CLI

Istnieją dwie grupy poleceń interfejsu wiersza polecenia usługi Databricks i dwa kroki wymagane do przypisania lokalizacji zewnętrznej do obszaru roboczego.

W poniższych przykładach zastąp <profile-name> ciąg nazwą profilu konfiguracji uwierzytelniania usługi Azure Databricks. Powinna ona zawierać wartość osobistego tokenu dostępu, oprócz nazwy wystąpienia obszaru roboczego i identyfikatora obszaru roboczego, w którym wygenerowano osobisty token dostępu. Zobacz Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks.

  1. external-locations Użyj polecenia grupy update poleceń, aby ustawić lokalizację isolation mode zewnętrzną na ISOLATED:

    databricks external-locations update <my-location> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    Wartość domyślna isolation-mode to OPEN wszystkie obszary robocze dołączone do magazynu metadanych.

  2. workspace-bindings Użyj polecenia grupy update-bindings poleceń, aby przypisać obszary robocze do lokalizacji zewnętrznej:

    databricks workspace-bindings update-bindings external-location <my-location> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    "add" Użyj właściwości i"remove", aby dodać lub usunąć powiązania obszaru roboczego.

    Uwaga

    Powiązanie tylko do odczytu (BINDING_TYPE_READ_ONLY) nie jest dostępne dla lokalizacji zewnętrznych. W związku z tym nie ma powodu, aby ustawić binding_type powiązanie lokalizacji zewnętrznych.

Aby wyświetlić listę wszystkich przypisań obszarów roboczych dla lokalizacji zewnętrznej workspace-bindings , użyj polecenia grupy get-bindings poleceń:

databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>

Zobacz również Powiązania obszaru roboczego w dokumentacji interfejsu API REST.

Odłącz lokalizację zewnętrzną od obszaru roboczego

Instrukcje dotyczące odwołwania dostępu obszaru roboczego do lokalizacji zewnętrznej przy użyciu Eksploratora wykazu lub workspace-bindings grupy poleceń interfejsu wiersza polecenia są zawarte w temacie Wiązanie lokalizacji zewnętrznej z co najmniej jednym obszarem roboczym.

Następne kroki