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.
Cizí tabulky, někdy označované jako federované tabulky, jsou tabulky zaregistrované pomocí katalogu Unity jako součást cizího katalogu. Cizí tabulky obsahují data a metadata spravovaná externími systémy. Katalog Unity přidává zásady správného řízení dat pro dotazování těchto tabulek.
Azure Databricks podporuje následující metody registrace cizích tabulek:
- Federace dotazů používá zabezpečená připojení JDBC k federování k externím datovým systémům, jako jsou PostgreSQL a MySQL.
- Federace katalogu propojuje externí katalogy, jako je metastore Hive nebo Snowflake Horizon Catalog, k dotazování dat přímo v úložišti souborů.
Important
Kvůli zpětné kompatibilitě se staršími úlohami Apache Spark a Azure Databricks vracejí cizí tabulky ve federovaném metastoru Hive metadata z metastoru Hive, včetně toho, jestli je tabulka spravovanou tabulkou Hive nebo externí tabulkou Hive.
Proč používat cizí tabulku?
Cizí tabulky poskytují flexibilitu při integraci Azure Databricks se stávajícími datovými systémy nebo migrací ze starších systémů.
Mnoho cizích tabulek slouží jako dočasné řešení pro přímý přístup k datům, která nespravuje Azure Databricks, protože poskytují rychlé řešení bez nutnosti migrace dat nebo refaktoringu kódu pro upstreamové pracovní postupy ETL. Databricks doporučuje migrovat datové sady, které řídí produkční úlohy nebo se často dotazují na spravované tabulky Unity, protože spravované tabulky poskytují nejlepší výkon a mají mnoho integrovaných optimalizací. Viz Převod cizí tabulky na spravovanou tabulku katalogu Unity.
Federace dotazů poskytuje bezplatné řešení pro načítání dat z externích datových systémů, které lakeflow Connect nepodporuje. Databricks doporučuje používat materializovaná zobrazení k replikaci cizích tabulek do katalogu Unity. Viz také Načtení dat z cizích tabulek pomocí materializovaných zobrazení.
Vytvoření nebo zápis do cizích tabulek
Pokud máte dostatečná oprávnění a váš pracovní prostor je nakonfigurovaný s interním federovaným metastorem Hive, můžete vytvořit nebo zapisovat do cizích tabulek zálohovaných tímto interním federovaným metastorem Hive. Externí federovaný metastore Hive a všechny externí tabulky přístupné prostřednictvím Federace Lakehouse jsou pouze pro čtení.
I když jsou cizí tabulky jen pro čtení, pole Aktualizováno podle zobrazuje uživatele, který aktivoval nejnovější aktualizaci metadat. Azure Databricks během dotazů automaticky aktualizuje metadata cizí tabulky, když zjistí, že metadata jsou zastaralá. V důsledku toho pole Aktualizovat podle zobrazuje current_user , kdo dotaz spustil, i když uživatel neupravoval podkladová data.
Azure Databricks neřídí metadata, data ani sémantiku pro zápisy do cizích tabulek. Cizí tabulky můžou být podporovány formátem kompatibilním s ACID, jako je Delta Lake nebo Apache Iceberg, ale cizí tabulky neposkytují transakční záruky spravovaných tabulek Katalogu Unity.
Většina optimalizací Azure Databricks pro výkon dotazů, vylepšenou rychlost zápisu, přeskočení dat a dotazy pouze s metadaty vyžadují katalog Unity. Databricks doporučuje porovnávat výkon dotazů čtení a zápisu mezi cizími tabulkami a spravovanými tabulkami Katalogu Unity pomocí nejnovější verze modulu Databricks Runtime k vyhodnocení latence a rozdílů v nákladech. Podívejte se na tabulky spravované službou Unity Catalog v Azure Databricks pro Delta Lake a Apache Iceberg.