Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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 konfigurowania usługi Lakehouse Federation w celu uruchamiania zapytań federacyjnych na danych programu SQL Server, 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 SQL Server przy użyciu usługi Lakehouse Federation, należy utworzyć następujące elementy w repozytorium metadanych Unity Catalog usługi Azure Databricks.
- Połączenie z bazą danych programu SQL Server.
- Wykaz obcy, który odzwierciedla bazę danych programu SQL Server w Unity Catalog, dzięki czemu można użyć składni zapytań Unity Catalog i narzędzi do zarządzania danymi w celu zarządzania dostępem użytkowników usługi Azure Databricks do bazy danych.
Usługa Lakehouse Federation obsługuje programy SQL Server, Azure SQL Database i Azure SQL Managed Instance.
Zanim rozpoczniesz
Wymagania dotyczące obszaru roboczego:
- Obszar roboczy z dostępem do Unity Catalog.
Wymagania dotyczące obliczeń:
- Łączność sieciowa od zasobu obliczeniowego do docelowych systemów baz danych. Zobacz Zalecenia dotyczące sieci dla usługi Lakehouse Federation.
- Środowisko obliczeniowe usługi Azure Databricks musi używać środowiska Databricks Runtime 13.3 LTS lub nowszego oraz standardowego trybu dostępu lub dedykowanego trybu dostępu .
- Magazyny SQL muszą być w wersji pro lub bezserwerowej i muszą używać wersji 2023.40 lub nowszej.
Wymagane uprawnienia:
- Aby utworzyć połączenie, musisz być administratorem magazynu metadanych lub użytkownikiem z uprawnieniami
CREATE CONNECTIONw magazynie metadanych Unity Catalog dołączonym do obszaru roboczego. - Aby utworzyć katalog zagraniczny, musisz mieć uprawnienie
CREATE CATALOGw metastore i być właścicielem połączenia lub mieć uprawnieniaCREATE FOREIGN CATALOGdla połączenia.
Dodatkowe wymagania dotyczące uprawnień są określone w każdej sekcji opartej na zadaniach.
- Jeśli planujesz uwierzytelnić się w programie SQL Server przy użyciu identyfikatora Entra firmy Microsoft, ukończ konfigurację w temacie Konfigurowanie identyfikatora entra firmy Microsoft na potrzeby federacji programu SQL Server.
Tworzenie połączenia
Połączenie określa ścieżkę dostępu i dane uwierzytelniające do zewnętrznego systemu bazodanowego. Aby utworzyć połączenie, możesz użyć Eksploratora wykazu lub polecenia CREATE CONNECTION SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.
Note
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 oraz polecenia Unity Catalog.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION .
Eksplorator wykazu
W obszarze roboczym usługi Azure Databricks kliknij
Wykaz.
Na górze okienka Katalog kliknij ikonę
Dodaj i wybierz pozycję Dodaj połączenie z menu.Alternatywnie na stronie Szybki dostęp kliknij przycisk Dane zewnętrzne , przejdź do karty Połączenia , a następnie kliknij pozycję Utwórz połączenie.
Na stronie
Podstawy połączenia w kreatorzeKonfigurowanie połączenia , wprowadź nazwę połączenia przyjazną dla użytkownika. Wybierz typ połączenia programu SQL Server.
Wybierz typ uwierzytelniania: OAuth, OAuth maszyna do maszyny lub nazwę użytkownika i hasło (uwierzytelnianie podstawowe).
(Opcjonalnie) Dodaj komentarz.
Kliknij przycisk Dalej.
Na stronie
Authentication (Uwierzytelnianie) wprowadź następujące właściwości połączenia dla wystąpienia programu SQL Server. Właściwości specyficzne dla wybranej metody uwierzytelniania są poprzedzoneAuth typew nawiasach.- Host: Serwer SQL.
- (Uwierzytelnianie podstawowe) Port
- (Uwierzytelnianie podstawowe) trustServerCertificate: wartość domyślna to
false. W przypadku ustawienia natrue, warstwa transportu używa protokołu SSL do szyfrowania kanału i omija łańcuch certyfikatów w celu zweryfikowania ufności. Pozostaw to ustawienie domyślne, chyba że istnieje określona potrzeba obejścia weryfikacji zaufania. - (Uwierzytelnianie podstawowe) Użytkownik
- (Uwierzytelnianie podstawowe) Hasło
- (OAuth) Wprowadź szczegóły połączenia zebrane w Konfiguracja Microsoft Entra ID dla federacji SQL Server.
Kliknij pozycję Utwórz połączenie.
(Uwierzytelnianie podstawowe) Na stronie Szczegóły połączenia określ następujące informacje:
- certyfikat serwera zaufania: jest to domyślnie zaznaczone. Po wybraniu warstwa transportu używa protokołu SSL do szyfrowania kanału i pomija łańcuch certyfikatów w celu zweryfikowania zaufania. Pozostaw to ustawienie domyślne, chyba że istnieje określona potrzeba obejścia weryfikacji zaufania.
- intencja aplikacji: typ obciążenia aplikacji podczas nawiązywania połączenia z serwerem.
Kliknij przycisk Dalej.
Na stronie Podstawy katalogu wprowadź nazwę katalogu obcego. Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog.
Kliknij pozycję Utwórz katalog.
Na stronie Access wybierz obszary robocze, w których użytkownicy mogą uzyskiwać dostęp do utworzonego katalogu. Możesz wybrać opcję Wszystkie obszary robocze mają dostęplub kliknij Przypisać do obszarów roboczych, wybierz 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 katalogu. Zacznij wpisywać główny element w polu tekstowym, a następnie kliknij ten element w zwróconych wynikach.
Nadaj przywileje w katalogu. Kliknij Zezwól:
- Określ podmioty, które będą miały dostęp do obiektów w katalogu. Zacznij wpisywać główny element w polu tekstowym, a następnie kliknij ten element w zwróconych wynikach.
- Wybierz ustawienia wstępne przywilejów, aby przyznać każdemu podmiotowi. Wszyscy użytkownicy konta mają przyznane
BROWSEdomyślnie.- Wybierz Czytnik danych z menu rozwijanego, aby nadać
readuprawnienia do obiektów w katalogu. - Wybierz pozycję Edytor danych z menu rozwijanego, aby przyznać
readimodifyuprawnienia do obiektów w wykazie. - Ręcznie wybierz uprawnienia do udzielenia.
- Wybierz Czytnik danych z menu rozwijanego, aby nadać
- Kliknij Grant.
Kliknij przycisk Dalej.
Na stronie Metadane określ pary klucz-wartość tagów. Aby uzyskać więcej informacji, zobacz Zastosuj tagi do obiektów zabezpieczalnych w Unity Catalog.
(Opcjonalnie) Dodaj komentarz.
Kliknij przycisk Zapisz.
Note
(OAuth) Punkt końcowy OAuth identyfikatora usługi Azure Entra musi być dostępny z adresów IP płaszczyzny sterowania usługi Azure Databricks. Zobacz Regiony usługi Azure Databricks.
SQL
Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks.
CREATE CONNECTION <connection-name> TYPE sqlserver
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Zalecamy używanie tajnych danych usługi Azure Databricks zamiast ciągów w postaci zwykłego tekstu dla poufnych wartości, takich jak dane uwierzytelniające. Przykład:
CREATE CONNECTION <connection-name> TYPE sqlserver
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Aby uzyskać informacje na temat konfigurowania wpisów tajnych, zobacz Zarządzanie wpisami tajnymi.
Tworzenie wykazu obcego
Note
Jeśli używasz interfejsu użytkownika do utworzenia połączenia ze źródłem danych, uwzględnione jest tworzenie katalogu zewnętrznego i możesz pominąć ten krok.
Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog. Aby utworzyć wykaz obcy, należy użyć połączenia ze źródłem danych, które zostało już zdefiniowane.
Aby utworzyć wykaz obcy, możesz użyć Eksploratora wykazu lub polecenia CREATE FOREIGN CATALOG SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL. Do utworzenia katalogu 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/catalogs i polecenia Katalogu Unity.
Wymagane uprawnienia:CREATE CATALOG uprawnienie do magazynu metadanych i własność połączenia lub CREATE FOREIGN CATALOG uprawnienia do połączenia.
Eksplorator wykazu
W obszarze roboczym usługi Azure Databricks kliknij
Wykaz do otwierania Eksploratora wykazu.
W górnej części okienka Katalogu, kliknij ikonę
Dodaj i wybierz Dodaj katalog z menu.Alternatywnie na stronie Szybki dostęp kliknij na przycisk Wykazy, a następnie kliknij na przycisk Utwórz katalog.
Postępuj zgodnie z instrukcjami dotyczącymi tworzenia katalogów obcych w Tworzenie katalogów.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy w nawiasach kwadratowych są opcjonalne. Zastąp wartości zastępcze:
-
<catalog-name>: nazwa wykazu w usłudze Azure Databricks. -
<connection-name>: obiekt połączenia określający źródło danych, ścieżkę i poświadczenia dostępu. -
<database-name>: nazwa bazy danych, którą chcesz dublować jako wykaz w usłudze Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Obsługiwane funkcje wypychania
Następujące wypychania są obsługiwane we wszystkich obliczeniach:
- Filters
- Projections
- Limit
- Funkcje: częściowe, tylko dla wyrażeń filtru. (Funkcje ciągów, Funkcje matematyczne, Dane, Czas i Sygnatura czasowa oraz inne różne funkcje, takie jak Alias, Cast, SortOrder)
Następujące wypychania są obsługiwane w środowisku Databricks Runtime 13.3 LTS i nowszym oraz w obliczeniach usługi SQL Warehouse:
- Aggregates
- Następujące operatory logiczne: =, <, <=, >, >= , = <>
- Następujące funkcje matematyczne (nieobsługiwane, jeśli usługa ANSI jest wyłączona): +, -, -, *, %, /
- Następujące różne operatory: ^, |, ~
- Sortowanie, gdy jest używane z limitem
Następujące wypychania nie są obsługiwane:
- Joins
- Funkcje systemu Windows
Mapowanie typu danych
Podczas odczytywania z programu SQL Server do platformy Spark typy danych są mapowe w następujący sposób:
| Typ programu SQL Server | Typ Spark |
|---|---|
| bigint (bez znaku), dziesiętny, pieniądze, numeryczne, małymoney | DecimalType |
| smallint, tinyint | ShortType |
| int | IntegerType |
| bigint (jeśli jest podpisany) | LongType |
| real | FloatType |
| float | DoubleType |
| char, nchar, uniqueidentifier | CharType |
| nvarchar, varchar | VarcharType |
| tekst, xml | StringType |
| binarny, geografia, geometria, obraz, znacznik czasu, udt, zmienny binarny | BinaryType |
| bit | BooleanType |
| date | DateType |
| datetime, datetime, mały datetime, time | TimestampType/TimestampNTZType |
*Podczas odczytywania z programu SQL Server program SQL Server datetimes jest mapowany na platformę Spark TimestampType , jeśli preferTimestampNTZ = false (wartość domyślna). Program SQL Server datetimes jest mapowany na TimestampNTZType wartość if preferTimestampNTZ = true.