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 k provádění dotazů na databázi Amazon Redshift pomocí Lakehouse Federation, musíte vytvořit následující ve vašem metastore katalogu Unity v Azure Databricks (pracovní prostory vytvořené po 9. listopadu 2023 mají už metastore katalogu Unity automaticky zřízený):
- Připojení pro spouštění dotazů 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. Pracovní prostory vytvořené po 9. listopadu 2023 jsou pro Unity Catalog automaticky povolené, včetně automatického provisioningu metastoru. Metastore nemusíte vytvářet ručně, pokud váš pracovní prostor pochází z doby před automatickým povolením a nebyl povolen pro Unity Catalog. Viz Automatická aktivace katalogu 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í ohledně sítí pro Lakehouse Federation.
- 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 CONNECTIONk metastoru katalogu Unity připojenému k pracovnímu prostoru. V pracovních prostorech, které byly automaticky povoleny pro Katalog Unity, mají správci pracovišťCREATE CONNECTIONve výchozím nastavení oprávnění. - Chcete-li vytvořit cizí katalog, musíte mít oprávnění
CREATE CATALOGk metastoru a být buď vlastníkem připojení, nebo mít oprávněníCREATE FOREIGN CATALOGpro připojení. V pracovních prostorech, které byly automaticky povoleny pro Katalog Unity, mají správci pracovišťCREATE CATALOGve výchozím nastavení oprávnění.
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.
Note
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 Katalog klikněte na ikonu
Přidat a v nabídce vyberte 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 tlačítko 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 Udělit:
- 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
readoprávnění k objektům v katalogu. - V rozevírací nabídce vyberte Datový editor a udělte oprávnění
readamodifyk 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 tlačítko 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. Napří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
Note
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á snižování
Jsou podporovány následující podmíněné výpočty:
- Filters
- Projections
- Limit
- Joins
- 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)
- Sorting
Následující pushdowny nejsou podporovány:
- Funkce Systému Windows
Mapování datového typu
Při čtení z Redshiftu do Sparku se datové typy mapují takto:
| Typ Redshiftu | Typ Spark |
|---|---|
| numeric | DecimalType |
| int2, int4 | IntegerType |
| int8, oid, xid | LongType |
| float4 | FloatType |
| dvojitá přesnost, float8, peníze | DoubleType |
| bpchar, char, proměnná délka znaku, název, nadřazený, text, tid, varchar | StringType |
| bytea, geometrie, varbyte | BinaryType |
| bit, bool | BooleanType |
| date | DateType |
| tabstime, čas, čas s časovým pásmem, timetz, čas bez časového pásma, časové razítko s časovým pásmem, časové razítko, časové razítko bez časového pásma* | TimestampType/TimestampNTZType |
*Při čtení z Redshiftu je Redshift Timestamp mapován na Spark TimestampType, je-li infer_timestamp_ntz_type = false nastaven (výchozí). Redshift Timestamp je mapován na TimestampNTZType if infer_timestamp_ntz_type = true.
Limitations
- Na externích datech Amazon Redshift nemůžete spouštět federované dotazy.