Přístup k tabulkám Databricks z klientů Delta

Tato stránka popisuje, jak pomocí rozhraní Unity REST API vytvářet, číst a zapisovat do katalogu Unity spravované a externí tabulky z externích klientů Delta. Úplný seznam podporovaných integrací najdete v tématu Integrace katalogu Unity.

Spropitné

Informace o tom, jak číst Azure Databricks data pomocí Microsoft Fabric, najdete v tématu Microsoft Fabric s Azure Databricks.

Vytvoření, čtení a zápis pomocí rozhraní Unity REST API

Důležité

Vytváření spravovaných tabulek Unity Catalogu a zápis do nich z klientů Delta jsou ve fázi Public Preview.

Rozhraní Unity REST API poskytuje externím klientům přístup k vytváření, čtení a zápisu k tabulkám registrovaným v katalogu Unity. Nakonfigurujte přístup pomocí adresy URL pracovního prostoru jako koncového bodu. K dispozici jsou následující typy tabulek:

Typ tabulky Čti Napiš Create
Spravovaný Delta Ano Ano* Ano*
Externí delta Ano Ano Ano

* Podporováno pro spravované tabulky Delta s potvrzeními katalogu.

Podporovaní klienti

Apache Spark je podporovaný pro vytváření, čtení a zápis do spravovaných a externích tabulek Delta katalogu Unity pomocí rozhraní Unity REST API.

V beta verzi jsou podporováni následující klienti. Pokud máte zájem je používat, obraťte se na svůj tým Azure Databricks:

  • Apache Flink
  • DuckDB
  • StreamNative
  • Starburst

Požadavky

Azure Databricks podporuje přístup rozhraní Unity REST API k tabulkám jako součást katalogu Unity. Abyste mohli tyto koncové body používat, musíte mít ve svém pracovním prostoru povolený katalog Unity.

Pro konfiguraci přístupu k tabulkám z klientů Delta pomocí rozhraní Unity REST API musíte také provést následující kroky konfigurace:

Omezení

  • Externí přístup k tabulkám UniForm s icebergCompatV3 se v současné době nepodporuje.
  • Externí klienti nemohou měnit delta.* vlastnosti tabulky databricks.* , přidávat nebo odebírat funkce tabulky, přejmenovávat sloupce a přidávat CHECK nebo odstraňovat omezení.
  • Externí klienti nemůžou provádět operace údržby tabulek, například OPTIMIZE, VACUUMa ANALYZE, ve spravovaných tabulkách Delta.
  • Externí klienti nemůžou vytvářet tabulky s vygenerovanými sloupci, výchozími sloupci ani sloupci omezení.
  • Při vytváření externích tabulek Azure Databricks doporučuje použít Apache Spark, aby se zajistilo, že definice sloupců jsou ve formátu kompatibilním s Apache Sparkem. Rozhraní API neověřuje správnost specifikace sloupce. Pokud specifikace není kompatibilní s Apache Sparkem, nemusí databricks Runtime číst tabulky.

Poznámka:

Chcete-li číst tabulky s filtry řádků nebo maskami sloupců pomocí externího klienta Delta, přečtěte si Řízení přístupu na základě atributů (ABAC) napříč enginy, kde najdete požadované verze klienta a konfiguraci.

Přístup k tabulkám Delta pomocí Apache Sparku pomocí ověřování PAT

Ověřování PAT pro externí klienty Sparku vyžaduje:

  • Klient Unity Catalog Spark verze 0.5.0 nebo vyšší (io.unitycatalog:unitycatalog-spark)
  • Apache Spark 4.0 nebo 4.1
  • Delta Spark 4.3.0 nebo vyšší
  • Osobní přístupový token pro instanční objekt, který přistupuje k katalogu Unity. Viz Autorizace přístupu k prostředkům Azure Databricks.

Ke čtení nebo zápisu do spravovaných a externích tabulek Delta s Apache Sparkem pomocí ověřování PAT se vyžaduje následující konfigurace:

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_4.1_2.13:4.3.0,io.unitycatalog:unitycatalog-spark_4.1_2.13:0.5.0,org.apache.hadoop:hadoop-azure:3.4.2"

Nahraďte následující proměnné:

  • <uc-catalog-name>: Název katalogu Unity, který obsahuje tabulky.
  • <token>: Osobní přístupový token (PAT) pro subjekt konfigurovaný pro integraci.
  • <workspace-url>: Adresa URL Azure Databricks workspace, včetně ID pracovního prostoru. Například: adb-1234567890123456.12.azuredatabricks.net.

Poznámka:

Výše uvedené verze balíčků jsou aktuální od poslední aktualizace této stránky. Novější verze můžou být dostupné. Ověřte, že verze balíčků jsou kompatibilní s vaší verzí Sparku.

Další podrobnosti o konfiguraci Apache Sparku pro cloudové úložiště objektů najdete v dokumentaci k operačnímu systému Unity.

Důležité

Pro používání funkcí čtení, zápisu nebo vytváření tabulek s povolenými potvrzeními katalogu je vyžadován Databricks Runtime ve verzi 16.4 nebo vyšší. Databricks Runtime 18.0 a vyšší se vyžaduje k povolení nebo zakázání potvrzení katalogu u existujících tabulek.

Pokud chcete vytvořit spravované tabulky Delta s potvrzeními katalogu, použijte následující SQL:

CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported') USING delta;

K vytvoření externích tabulek Delta použijte následující sql:

CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
USING delta
LOCATION <path>;

Přístup k tabulkám Delta pomocí Apache Sparku pomocí ověřování OAuth

Azure Databricks také podporuje ověřování OAuth typu machine-to-machine (M2M). OAuth automaticky zpracovává tokeny a obnovu přihlašovacích údajů pro ověřování katalogu Unity.

Ověřování OAuth pro externí klienty Sparku vyžaduje:

K vytvoření, čtení nebo zápisu do spravovaných tabulek Unity a externích tabulek Delta s Apache Sparkem pomocí ověřování OAuth se vyžaduje následující konfigurace:

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>",
"spark.sql.catalog.<uc-catalog-name>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_4.1_2.13:4.3.0,io.unitycatalog:unitycatalog-spark_4.1_2.13:0.5.0,org.apache.hadoop:hadoop-azure:3.4.2"

Nahraďte následující proměnné:

  • <workspace-url>: Adresa URL Azure Databricks workspace, včetně ID pracovního prostoru. Například: adb-1234567890123456.12.azuredatabricks.net.

Poznámka:

Výše uvedené verze balíčků jsou aktuální od poslední aktualizace této stránky. Novější verze můžou být dostupné. Ověřte, že verze balíčků jsou kompatibilní s vaší verzí Sparku.