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.
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 przycisk Dane >zewnętrzne, przejdź do karty Lokalizacje zewnętrzne i kliknij pozycję Utwórz lokalizację.
Wprowadź nazwę lokalizacji zewnętrznej.
Opcjonalnie skopiuj ścieżkę kontenera z istniejącego punktu instalacji (tylko kontenery usługi Azure Data Lake Storage Gen2).
Jeśli nie kopiujesz z istniejącego punktu instalacji, 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.
(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.
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.
Przyznaj uprawnienie 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
.
Aby udzielić uprawnień za pomocą Eksploratora wykazu:
- Kliknij nazwę lokalizacji zewnętrznej, aby otworzyć okienko szczegółów.
- Na karcie Uprawnienia 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 lub właściciel 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?.