Udostępnij przez


Praca z tabelami obcymi

Tabele zewnętrzne, nazywane czasami tabelami federacyjnymi, są tabelami zarejestrowanymi przy użyciu katalogu Unity jako część katalogu obcego. Tabele zewnętrzne zawierają dane i metadane zarządzane przez systemy zewnętrzne, a Unity Catalog dodaje zarządzanie danymi do zapytań dotyczących tych tabel.

Usługa Azure Databricks obsługuje następujące metody rejestrowania tabel obcych:

  • Federacja zapytań używa bezpiecznych połączeń JDBC do federacji z zewnętrznymi systemami danych, takimi jak PostgreSQL i MySQL.
  • Federacja katalogu łączy wykazy zewnętrzne, takie jak magazyn metadanych Hive lub katalog Snowflake Horizon, w celu wykonywania zapytań dotyczących danych bezpośrednio w magazynie plików.

Important

Aby zapewnić zgodność z poprzednimi wersjami starszych obciążeń dla Apache Spark i Azure Databricks, tabele obce w federacyjnym magazynie metadanych Hive zwracają metadane z tego magazynu, w tym informacje o tym, czy tabela jest tabelą zarządzaną Hive, czy tabelą zewnętrzną Hive.

Dlaczego warto używać tabeli obcej?

Tabele obce zapewniają elastyczność podczas integrowania usługi Azure Databricks z istniejącymi systemami danych lub migracji ze starszych systemów.

Wiele tabel obcych służy jako tymczasowe rozwiązanie do bezpośredniego dostępu do danych, które nie są zarządzane przez usługę Azure Databricks, ponieważ zapewniają szybkie rozwiązanie bez konieczności migracji danych ani refaktoryzacji kodu dla nadrzędnych przepływów pracy ETL. Usługa Databricks zaleca migrowanie zestawów danych, które obsługują obciążenia produkcyjne lub są często poddawane zapytaniom, do tabel zarządzanych w Unity Catalog, ponieważ tabele zarządzane zapewniają najlepszą wydajność i mają wiele wbudowanych optymalizacji. Zobacz Konwertowanie tabeli zewnętrznej na zarządzaną tabelę Unity Catalog.

Federacja zapytań zapewnia bezpłatne rozwiązanie do ładowania danych z zewnętrznych systemów danych, które nie są obsługiwane przez usługę Lakeflow Connect. Usługa Databricks zaleca używanie zmaterializowanych widoków do replikowania tabel obcych do Unity Catalog. Zobacz Ładowanie danych z tabel obcych za pomocą zmaterializowanych widoków.

Tworzenie lub zapisywanie do tabel obcych

Jeśli masz wystarczające uprawnienia, a twój obszar roboczy został skonfigurowany z wykorzystaniem wewnętrznego federacyjnego magazynu metadanych Hive, możesz tworzyć lub zapisywać w tabelach obcych obsługiwanych przez ten magazyn. Zewnętrzny federacyjny magazyn metadanych Hive i wszystkie obce tabele wspierane przez usługę Lakehouse Federation są tylko do odczytu.

Usługa Azure Databricks nie zarządza metadanymi, danymi ani semantykami zapisów w tabelach obcych. Tabele zewnętrzne mogą być wspierane przez format zgodny ze standardem ACID, takim jak Delta Lake lub Apache Iceberg, ale tabele zewnętrzne nie zapewniają transakcyjnych gwarancji oferowanych przez tabele zarządzane przez Unity Catalog.

Większość optymalizacji usługi Azure Databricks pod kątem wydajności zapytań, zwiększonej szybkości zapisu, pomijania danych i zapytań tylko z metadanymi wymaga Katalogu Unity. Usługa Databricks zaleca porównanie wydajności zapytań odczytu i zapisu między tabelami zdalnymi i tabelami zarządzanymi przez Unity Catalog przy użyciu najnowszej wersji środowiska Databricks Runtime w celu oceny różnic w opóźnieniach i kosztach. Zobacz Tabele zarządzane przez katalog Unity w usłudze Azure Databricks dla Delta Lake i Apache Iceberg.