Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
cs-CZ: Tato stránka popisuje, jak nastavit Federaci Lakehouse k provádění federovaných dotazů na data Amazon Redshift, která nejsou spravována Azure Databricks. Další informace o federaci Lakehouse najdete v tématu Co je Federace Lakehouse?
Pokud se chcete připojit a spustit dotazy na databázi Amazon Redshift pomocí Lakehouse Federation, musíte v metastoru katalogu Azure Databricks Unity vytvořit následující:
- Připojení ke spuštěným dotazům v databázi Amazon Redshift.
- Cizí katalog, který zrcadlí spouštěné dotazy v databázi Amazon Redshift v Unity Catalogu, abyste mohli použít syntaxi dotazů Unity Catalogu a nástroje zásad správného řízení dat ke správě přístupu uživatelů Azure Databricks k databázi.
Než začnete
Požadavky na pracovní prostor:
- Pracovní prostor aktivován pro katalog Unity.
Požadavky na výpočetní prostředky:
- Síťové připojení z vašeho výpočetního prostředku k cílovým databázovým systémům. Viz doporučení k sítím pro Federaci Lakehouse.
- Výpočetní prostředky Azure Databricks musí používat Databricks Runtime 13.3 LTS nebo novější a Standard nebo dedikovaný režim přístupu.
- Sql Warehouse musí být pro nebo bezserverové a musí používat verzi 2023.40 nebo vyšší.
Požadovaná oprávnění:
- Pokud chcete vytvořit připojení, musíte být správcem metastoru nebo uživatelem s oprávněním
CREATE CONNECTION
k metastoru katalogu Unity připojenému k pracovnímu prostoru. - Chcete-li vytvořit cizí katalog, musíte mít oprávnění
CREATE CATALOG
k metastoru a být buď vlastníkem připojení, nebo mít oprávněníCREATE FOREIGN CATALOG
pro připojení.
Další požadavky na oprávnění jsou uvedeny v následující části založené na úlohách.
Vytvoření připojení
Připojení určuje cestu a přihlašovací údaje pro přístup k externímu databázovému systému. K vytvoření připojení můžete použít Průzkumníka katalogu nebo příkaz CREATE CONNECTION
SQL v poznámkovém bloku Azure Databricks nebo editoru dotazů SQL Databricks.
Poznámka:
K vytvoření připojení můžete použít také rozhraní REST API Databricks nebo rozhraní příkazového řádku Databricks. Viz POST /api/2.1/unity-catalog/connections a příkazy Unity Catalog .
Požadovaná oprávnění: Správce metastoru nebo uživatel s oprávněním CREATE CONNECTION
.
Průzkumník katalogu
V pracovním prostoru Azure Databricks klikněte na
Katalog.
V horní části podokna katalogu klikněte na ikonu
ikona Přidat a v nabídce vyberte možnost Přidat připojení.
Případně na stránce Rychlý přístup klikněte na tlačítko Externí data >, přejděte na kartu Připojení a klikněte na Vytvořit připojení.
Na stránce Podrobnosti o připojení v průvodci nastavením připojení zadejte uživatelsky přívětivý název připojení.
Vyberte typ připojeníredshiftu.
(Volitelné) Přidejte komentář.
Klikněte na Další.
Na stránce Ověřování zadejte následující parametry připojení pro vaši instanci Redshiftu.
-
Hostitel: Příklad:
redshift-demo.us-west-2.redshift.amazonaws.com
-
Port: Příklad:
5439
-
Uživatel: Příklad:
redshift_user
-
Heslo: Příklad:
password123
-
Hostitel: Příklad:
(Volitelné) Zakázat ověření názvů hostitelů SSL.
Klikněte na Vytvořit připojení.
Na stránce základy katalogu zadejte název cizího katalogu. Cizí katalog zrcadlí databázi v externím datovém systému, abyste mohli dotazovat a spravovat přístup k datům v této databázi pomocí Azure Databricks a Unity Catalog.
(Volitelné) Kliknutím na test připojení potvrďte, že funguje.
Klikněte na Vytvořit katalog.
Na stránce Access vyberte pracovní prostory, ve kterých mají uživatelé přístup k vytvořenému katalogu. Můžete vybrat Všechny pracovní prostory mají přístup, nebo klepněte na Přiřadit k pracovním prostorům, vyberte pracovní prostory a potom klikněte na Přiřadit.
Změňte vlastníka , který bude moci spravovat přístup ke všem objektům v katalogu. Začněte do textového pole zadávat entitu a potom ve vrácených výsledcích klikněte na entitu.
Udělte oprávnění na katalog. Klikněte na Odsouhlasit:
- Uveďte uživatele Principals, kteří budou mít přístup k objektům v katalogu. Začněte do textového pole zadávat entitu a potom ve vrácených výsledcích klikněte na entitu.
- Vyberte přednastavení oprávnění, které se mají každému subjektu udělit. Všichni uživatelé účtu mají ve výchozím nastavení udělené
BROWSE
.- V rozevírací nabídce vyberte Data Reader a poskytněte
read
oprávnění k objektům v katalogu. - V rozevírací nabídce vyberte Datový editor a udělte oprávnění
read
amodify
k objektům v katalogu. - Ručně vyberte oprávnění, která chcete udělit.
- V rozevírací nabídce vyberte Data Reader a poskytněte
- Klikněte na Povolit.
Klikněte na Další.
Na stránce Metadata zadejte páry klíč-hodnota tagů. Další informace najdete v tématu Použití značek na zabezpečitelné objekty v Katalogu Unity.
(Volitelné) Přidejte komentář.
Klikněte na Uložit.
SQL
V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz.
CREATE CONNECTION <connection-name> TYPE redshift
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Doporučujeme používat Azure Databricks tajemství místo prostého textu pro citlivé hodnoty, jako jsou přihlašovací údaje. Příklad:
CREATE CONNECTION <connection-name> TYPE redshift
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Informace o nastavení tajných kódů najdete v tématu Správa tajných kódů.
Vytvoření zahraničního katalogu
Poznámka:
Pokud k vytvoření připojení ke zdroji dat použijete uživatelské rozhraní, zahrne se vytvoření cizího katalogu a tento krok můžete přeskočit.
Cizí katalog zrcadlí databázi v externím datovém systému, abyste mohli dotazovat a spravovat přístup k datům v této databázi pomocí Azure Databricks a Unity Catalog. Chcete-li vytvořit cizí katalog, použijete připojení ke zdroji dat, který již byl definován.
K vytvoření cizího katalogu můžete použít Průzkumníka katalogu nebo příkaz CREATE FOREIGN CATALOG
SQL v poznámkovém bloku Azure Databricks nebo v editoru dotazů SQL. K vytvoření katalogu můžete použít také rozhraní REST API Databricks nebo rozhraní příkazového řádku Databricks. Viz POST /api/2.1/unity-catalog/catalogs a příkazy Unity Catalog.
Požadovaná oprávnění:CREATE CATALOG
oprávnění k metastoru a vlastnictví připojení nebo CREATE FOREIGN CATALOG
oprávnění k připojení.
Průzkumník katalogu
V pracovním prostoru Azure Databricks klikněte na
Klikněte na Katalog pro otevření Průzkumníka katalogu.
V horní části podokna katalogu klikněte na ikonu
Přidat nebo plus a v nabídce vyberte Přidat katalog.
Případně na stránce Rychlý přístup klikněte na tlačítko Katalogy a potom klikněte na tlačítko Vytvořit katalog.
Postupujte podle pokynů pro vytváření cizích katalogů v Vytvořit katalogy.
SQL
V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL. Položky v závorkách jsou volitelné. Nahraďte zástupné hodnoty:
-
<catalog-name>
: Název katalogu v Azure Databricks. -
<connection-name>
: Objekt připojení , který určuje zdroj dat, cestu a přihlašovací údaje pro přístup. -
<database-name>
: Název databáze, kterou chcete zrcadlit jako katalog v Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Podporované odsdílení změn
Podporují se následující nabízení:
- Filtry
- Projekce
- Omezení
- Spojení
- Agregace (Průměr, Počet, Maximum, Minimum, Populační směrodatná odchylka, Výběrová směrodatná odchylka, Součet, Výběrový rozptyl)
- Funkce (řetězcové funkce a další různé funkce, jako jsou Alias, Cast, SortOrder)
- Třídění
Následující nabízená oznámení nejsou podporována:
- Funkce Systému Windows
Mapování datového typu
Při čtení z Redshiftu do Sparku se datové typy mapuje takto:
Typ Redshiftu | Typ Sparku |
---|---|
numerické | TypDesetinnéhoČísla |
int2, int4 | IntegerType |
int8, oid, xid | DlouhýTyp |
float4 | Datový typ float |
dvojitá přesnost, float8, peníze | DoubleType |
bpchar, char, character varying, name, super, text, tid, varchar | Typ řetězce |
bytea, geometrie, varbyte | BinárníTyp |
bit, bool | Booleovský typ |
datum | Typ data |
tabstime, time, time with time zone, timetz, timetz, time without timetamp, timestamp with timetamp, timestamptz, timestamptz without time zone* | TimestampType/TimestampNTZType |
*Při čtení z Redshiftu je Redshift Timestamp
mapován na Spark TimestampType
pokud infer_timestamp_ntz_type = false
(výchozí). Redshift Timestamp
je mapován na TimestampNTZType
if infer_timestamp_ntz_type = true
.
Omezení
- Na externích datech Amazon Redshift nemůžete spouštět federované dotazy.