Uruchamianie zapytań federacyjnych w usłudze Microsoft Azure Synapse
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
W tym artykule opisano sposób konfigurowania usługi Lakehouse Federation w celu uruchamiania zapytań federacyjnych na danych usługi Azure Synapse (SQL Data Warehouse), 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 usługi Azure Synapse (SQL Data Warehouse) przy użyciu usługi Lakehouse Federation, należy utworzyć następujące elementy w magazynie metadanych wykazu aparatu Unity usługi Azure Databricks:
- Połączenie z bazą danych usługi Azure Synapse (SQL Data Warehouse).
- Wykaz obcy, który dubluje bazę danych usługi Azure Synapse (SQL Data Warehouse) w wykazie aparatu Unity, dzięki czemu można używać składni zapytań wykazu aparatu Unity i narzędzi do zapewniania ładu danych w celu zarządzania dostępem użytkowników usługi Azure Databricks do bazy danych.
Zanim rozpoczniesz
Wymagania dotyczące obszaru roboczego:
- Obszar roboczy włączony dla wykazu aparatu Unity.
Wymagania dotyczące obliczeń:
- Łączność sieciowa z klastra środowiska Databricks Runtime lub usługi SQL Warehouse z docelowymi systemami baz danych. Zobacz Zalecenia dotyczące sieci dla usługi Lakehouse Federation.
- Klastry usługi Azure Databricks muszą używać środowiska Databricks Runtime 13.3 LTS lub nowszego oraz trybu dostępu współużytkowanego lub pojedynczego użytkownika.
- Magazyny SQL muszą mieć wartość Pro lub Bezserwerową.
Wymagane uprawnienia:
- Aby utworzyć połączenie, musisz być administratorem magazynu metadanych lub użytkownikiem z
CREATE CONNECTION
uprawnieniami w magazynie metadanych wykazu aparatu Unity dołączonym do obszaru roboczego. - Aby utworzyć wykaz obcy, musisz mieć
CREATE CATALOG
uprawnienia do magazynu metadanych i być właścicielem połączenia lub miećCREATE FOREIGN CATALOG
uprawnienia do połączenia.
Dodatkowe wymagania dotyczące uprawnień są określone w każdej sekcji opartej na zadaniach.
Tworzenie połączenia
Połączenie określa ścieżkę i poświadczenia dostępu do zewnętrznego systemu bazy danych. Aby utworzyć połączenie, możesz użyć Eksploratora wykazu lub CREATE CONNECTION
polecenia SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION
.
Eksplorator wykazu
W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
W górnej części okienka Wykaz 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.
Wprowadź przyjazną dla użytkownika nazwę połączenia.
Wybierz typ połączenia SQLDW.
Wprowadź następujące właściwości połączenia dla wystąpienia usługi Azure Synapse.
- Host: na przykład
sqldws-demo.database.windows.net
. - Port: na przykład
1433
- trustServerCertificate: wartość domyślna to
false
. W przypadku ustawienia natrue
wartość 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. - Użytkownik
- Hasło
- Host: na przykład
(Opcjonalnie) Kliknij pozycję Testuj połączenie , aby potwierdzić, że działa.
(Opcjonalnie) Dodaj komentarz.
Kliknij pozycję Utwórz.
SQL
Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks.
CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Zalecamy używanie wpisów tajnych usługi Azure Databricks zamiast ciągów w postaci zwykłego tekstu dla poufnych wartości, takich jak poświadczenia. Na przykład:
CREATE CONNECTION <connection-name> TYPE sqldw
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
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 CREATE FOREIGN CATALOG
polecenia SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL.
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 pozycję Wykaz , aby otworzyć Eksploratora wykazu.
W górnej części okienka Wykaz kliknij ikonę Dodaj i wybierz pozycję Dodaj wykaz z menu.
Alternatywnie na stronie Szybki dostęp kliknij przycisk Wykazy , a następnie kliknij przycisk Utwórz wykaz .
Postępuj zgodnie z instrukcjami dotyczącymi tworzenia katalogów obcych w temacie 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 symboli zastępczych:
<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 wypychania
Obsługiwane są następujące wypychania:
- Filtry
- Projekcje
- Limit
- Agregacje (Average, Count, Max, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
- Funkcje (arytmetyczne i inne różne funkcje, takie jak Alias, Cast, SortOrder)
- Sortowanie
Następujące wypychania nie są obsługiwane:
- Sprzężenia
- Funkcje systemu Windows
Mapowanie typu danych
Podczas odczytywania z usługi Synapse /SQL Data Warehouse do platformy Spark typy danych są mapowe w następujący sposób:
Typ usługi Synapse | Typ platformy Spark |
---|---|
dziesiętne, pieniądze, liczbowe, małe | Typ dziesiętny |
smallint | ShortType |
tinyint | Typ bajtu |
int | Typ liczby całkowitej |
bigint | LongType |
rzeczywiste | FloatType |
liczba zmiennoprzecinkowa | DoubleType |
char, nchar, ntext, nvarchar, text, uniqueidentifier, varchar, xml | StringType |
binary, geography, geometry, image, timestamp, udt, varbinary | BinaryType |
bitowe | Typ logiczny |
data | Typ daty |
datetime, datetime, smalldatetime, time | TimestampType/TimestampNTZType* |
*Podczas odczytu z usługi Synapse / SQL Data Warehouse (SQLDW) usługa SQLDW datetimes
jest mapowana na platformę Spark TimestampType
, jeśli preferTimestampNTZ = false
(ustawienie domyślne). Funkcja SQLDW datetimes
jest mapowana na TimestampNTZType
wartość if preferTimestampNTZ = true
.