Uruchamianie zapytań federacyjnych w usłudze Teradata
Ważny
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
W tym artykule opisano sposób set federacji usługi Lakehouse w celu uruchamiania zapytań federacyjnych na danych teradata, które nie są zarządzane przez usługę Azure Databricks. Aby dowiedzieć się więcej o federacji Lakehouse, zobacz Co to jest Federacja Lakehouse?.
Aby nawiązać połączenie z bazą danych Teradata przy użyciu usługi Lakehouse Federation, należy utworzyć następujące elementy w magazynie metadanych usługi Azure Databricks Unity Catalog:
- Połączenie z bazą danych Teradata.
- obcy catalog, który odzwierciedla twoją bazę danych Teradata w Unity Catalog, dzięki czemu możesz używać składni zapytań Unity Catalog oraz narzędzi do zarządzania danymi, aby kontrolować dostęp użytkowników Azure Databricks do bazy danych.
Przed rozpoczęciem
Przed rozpoczęciem upewnij się, że spełniasz wymagania w tej sekcji.
Wymagania dotyczące usługi Databricks
Wymagania dotyczące obszaru roboczego:
- Obszar roboczy jest włączony dla środowiska Unity Catalog.
Wymagania dotyczące obliczeń:
- Połączenie sieciowe z Twojego zasobu obliczeniowego do docelowych systemów baz danych. Zobacz zalecenia dotyczące sieci dla Lakehouse Federation.
- Środowisko obliczeniowe usługi Azure Databricks musi używać środowiska Databricks Runtime 16.1 lub wyższej i trybu dostępu współdzielonego lub trybu dostępu dla jednego użytkownika .
- Magazyny SQL muszą być w wersji pro lub bezserwerowej i muszą używać wersji 2024.55 lub nowszej.
Wymagane uprawnienia:
- Aby utworzyć połączenie, musisz być administratorem magazynu metadanych lub użytkownikiem z uprawnieniami
CREATE CONNECTION
w magazynie metadanych Catalog dołączonym do obszaru roboczego. - Aby utworzyć zagraniczne catalog, musisz mieć uprawnienie
CREATE CATALOG
do magazynu metadanych i być właścicielem połączenia lub mieć uprawnieniaCREATE FOREIGN CATALOG
do połączenia.
Dodatkowe wymagania dotyczące uprawnień są określone w każdej sekcji dotyczącej poszczególnych zadań.
Wymagania dotyczące Teradata
- Protokół TLS włączony na serwerze hosta. Domyślnie
SSLMODE
jestREQUIRE
. Aby uzyskać więcej informacji, zobacz Jak zabezpieczyć Connections przy użyciu TLS w dokumentacji teradata.
Tworzenie połączenia usługi Azure Databricks
Połączenie określa ścieżkę i credentials na potrzeby uzyskiwania dostępu do zewnętrznego systemu bazy danych. Aby utworzyć połączenie, możesz użyć eksploratora Catalog lub polecenia CREATE CONNECTION
SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.
Notatka
Do utworzenia połączenia można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/connections i polecenia Unity Catalog.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION
.
Eksplorator Catalog
W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog.
W górnej części okienka Catalog kliknij ikonę Ikona Dodaj i selectDodaj połączenie z menu.
Alternatywnie na stronie
szybki dostęp kliknij przycisk Zewnętrzne dane , przejdź do karty, a następnie kliknij pozycję Utwórz połączenie .Na stronie Podstawowe informacje o połączeniu w kreatorze połączenia Set wprowadź łatwą do zapamiętania nazwę połączenia .
Select Teradatatyp połączenia.
(Opcjonalnie) Dodaj komentarz.
Kliknij przycisk Dalej.
Na stronie Authentication wprowadź następujące właściwości połączenia dla wystąpienia Teradata:
-
host: na przykład
teradata-demo.teradata.com
-
port: na przykład
1025
-
użytkownik: na przykład
teradata_user
-
hasło: na przykład
password123
-
host: na przykład
Kliknij pozycję Utwórz połączenie.
Na stronie Catalog podstawowe wprowadź nazwę obcego catalog. Zagraniczny catalog dubluje bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania dotyczące dostępu do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog.
(Opcjonalnie) Kliknij pozycję Testuj połączenie, aby potwierdzić, że działa.
Kliknij przycisk Utwórz catalog.
Na stronie Accessselect znajdziesz obszary robocze, w których użytkownicy mogą uzyskiwać dostęp do elementów, które utworzyłeś catalog. Możesz selectdać dostęp do wszystkich obszarów roboczychlub kliknij Przypisz do obszarów roboczych, select wybrane obszary robocze, a następnie kliknij Przypisz.
Zmień właściciela, który będzie mógł zarządzać dostępem do wszystkich obiektów w catalog. Zacznij wpisywać nazwę podmiotu w polu tekstowym, a następnie kliknij podmiot w zwróconych wynikach.
Grant uprawnienia w catalog. Kliknij Grant:
- Określ Principals, którzy będą mieli dostęp do obiektów w catalog. Zacznij wpisywać nazwę podmiotu w polu tekstowym, a następnie kliknij podmiot w zwróconych wynikach.
-
Select ustawienia wstępne przywilejów do grant do każdego podmiotu. Wszyscy użytkownicy konta domyślnie otrzymują
BROWSE
.-
Select
czytnik danych z menu rozwijanego, aby grant
read
uprawnienia do obiektów w catalog. -
Select
Wybierz Edytor danych z menu rozwijanego, aby grant
read
orazmodify
zmienić uprawnienia do obiektów w catalog. - Ręcznie select uprawnienia do grant.
-
Select
czytnik danych z menu rozwijanego, aby grant
- Kliknij Grant.
Kliknij przycisk Dalej.
Na stronie Metadane określ pary klucz-wartość tagów. Aby uzyskać więcej informacji, zobacz Zastosuj tagi do Unity Catalog zabezpieczanych obiektów.
(Opcjonalnie) Dodaj komentarz.
Kliknij Zapisz.
SQL
Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Usługa Databricks zaleca używanie tajemnic Azure Databricks zamiast zwykłych ciągów tekstowych dla informacji poufnych values, takich jak credentials. Na przykład:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Jeśli musisz używać ciągów w postaci zwykłego tekstu w poleceniach SQL notesu, unikaj obcinania ciągu przez ucieczkę znaków specjalnych, takich jak $
z \
. Na przykład: \$
.
Aby uzyskać informacje na temat konfigurowania sekretów, zobacz Zarządzanie sekretami.
Stwórz catalog jako obcy
Notatka
Jeśli używasz interfejsu użytkownika do utworzenia połączenia ze źródłem danych, proces tworzenia obcego elementu catalog jest uwzględniony i możesz pominąć ten krok.
Zagraniczny catalog dubluje bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania dotyczące dostępu do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog. Aby utworzyć obce catalog, należy użyć połączenia ze źródłem danych, które zostało już zdefiniowane.
Aby utworzyć obce catalog, możesz użyć eksploratora Catalog lub polecenia CREATE FOREIGN CATALOG
SQL w notatniku usługi Azure Databricks lub edytorze zapytań SQL.
Możesz również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks, aby utworzyć catalog. Zobacz POST /api/2.1/unity-catalog/catalogs oraz polecenia Unity Catalog.
Wymagane uprawnienia:CREATE CATALOG
uprawnienie do magazynu metadanych i własność połączenia lub uprawnienie CREATE FOREIGN CATALOG
do połączenia.
Eksplorator Catalog
W obszarze roboczym usługi Azure Databricks kliknij ikonę Catalog, aby otworzyć eksploratora Catalog.
W górnej części okienka Catalog kliknij ikonę Ikona Dodaj i selectDodaj catalog z menu.
Alternatywnie na stronie Szybki dostęp kliknij przycisk Catalogs, a następnie kliknij przycisk Utwórz catalog.
Postępuj zgodnie z instrukcjami dotyczącymi tworzenia obcych catalogs w Create catalogs.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy w nawiasach są opcjonalne. Zastąp symbol zastępczy values:
-
<catalog-name>
: nazwa catalog w usłudze Azure Databricks. -
<connection-name>
: obiekt połączenia określający źródło danych, ścieżkę i dostęp credentials. -
<database-name>
: nazwa bazy danych, którą chcesz dublować jako catalog w usłudze Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Obsługiwane wypychania
Obsługiwane są następujące wypychania:
- Filtry
- Prognozy
- Limit
- Agregatów
- Obsada
- Zawiera, Rozpoczyna się od, Kończy się na, Jak
Mapowania typów danych
Gdy czytasz dane z Teradata do Spark, typy danych są mapowane w następujący sposób:
Typ teradata | Typ Spark |
---|---|
Bajt, blob | Typ binarny |
Byteint, Smallint, Integer | Typ liczby całkowitej |
BigInt | LongType |
Zmiennoprzecinkowy, podwójny, podwójna precyzja | DoubleType |
Liczba(n, m) | Typ dziesiętny |
Number(, m), Number(), Number | Nieobsługiwane |
Varchar(N) | StringType |
Czas, sygnatura czasowa | TypZnacznikaCzasu |