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:
Przed utworzeniem obiektu lokalizacji zewnętrznej w usłudze Azure Databricks musisz utworzyć kontener magazynu usługi Azure Data Lake Storage Gen2 lub zasobnik Cloudflare R2.
Konta magazynu usługi Azure Data Lake Storage Gen2 używane jako lokalizacje zewnętrzne muszą mieć hierarchiczną przestrzeń nazw.
Musisz mieć poświadczenia magazynu zdefiniowane w usłudze Azure Databricks, które zapewniają dostęp do ścieżki lokalizacji magazynu w chmurze. Zobacz Tworzenie poświadczeń magazynu na potrzeby nawiązywania połączenia z usługą Azure Data Lake Storage Gen2 i Tworzenie poświadczeń magazynu na potrzeby nawiązywania połączenia z usługą Cloudflare R2.
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ą wCREATE 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ą:
Zaloguj się do obszaru roboczego dołączonego do magazynu metadanych.
Na pasku bocznym kliknij pozycję Wykaz.
Na stronie Szybki dostęp kliknij >zewnętrzne, przejdź do karty Lokalizacje zewnętrzne i kliknij pozycję Utwórz lokalizację.
Wprowadź nazwę lokalizacji zewnętrznej.
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>
lubr2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.
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ć:
Na liście rozwijanej poświadczeń usługi
Storage wybierz pozycję + Utwórz nowe poświadczenia magazynu .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.
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.
(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.
(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.
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 (Opcjonalnie) 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ć 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
lubCREATE EXTERNAL VOLUME
.
- Kliknij pozycję Udziel.
- 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ć. - Kliknij pozycję Udziel.
- Aby użyć lokalizacji zewnętrznej, aby dodać zarządzaną lokalizację magazynu do magazynu metadanych, katalogu lub schematu, przyznaj
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ślilocation_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>
lubr2://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 zmyWorkspace
? - Czy wykaz
myCat
jest powiązanymyWorkspace
z poziomemRead & Write
dostępu?
Jeśli lokalizacja zewnętrzna jest następnie niezwiązana z myWorkspace
klasy , 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
Zaloguj się do obszaru roboczego połączonego z magazynem metadanych.
Na pasku bocznym kliknij pozycję Wykaz.
Na stronie Szybki dostęp kliknij przycisk Dane > zewnętrzne, aby przejść do karty Lokalizacje zewnętrzne.
Wybierz lokalizację zewnętrzną i przejdź do karty Obszary robocze .
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.
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.
external-locations
Użyj polecenia grupyupdate
poleceń, aby ustawić lokalizacjęisolation mode
zewnętrzną naISOLATED
:databricks external-locations update <my-location> \ --isolation-mode ISOLATED \ --profile <profile-name>
Wartość domyślna
isolation-mode
toOPEN
wszystkie obszary robocze dołączone do magazynu metadanych.workspace-bindings
Użyj polecenia grupyupdate-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
- 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 lokalizacji magazynu zarządzanego w katalogu aparatu Unity.
- 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 Co to są woluminy wykazu aparatu Unity?.