Sdílet prostřednictvím


Čtení tabulek v Databricks z klientů Delta

Tato stránka obsahuje přehled použití rozhraní Unity REST API pro přístup ke spravovaným a externím tabulkám katalogu Unity z externích klientů Delta. Pokud chcete vytvořit externí tabulky Delta z externích klientů, přečtěte si téma Vytvoření externích tabulek Delta z externích klientů.

Pomocí katalogu Iceberg REST můžete číst tabulky zaregistrované v katalogu Unity v Azure Databricks z podporovaných klientů Icebergu, včetně Apache Sparku a DuckDB.

Úplný seznam podporovaných integrací najdete v tématu Integrace katalogu Unity.

Spropitné

Informace o tom, jak číst data Azure Databricks pomocí Microsoft Fabric, najdete v tématu Použití Microsoft Fabric ke čtení dat registrovaných v katalogu Unity.

čtení a psaní pomocí rozhraní Unity REST API

Rozhraní Unity REST API poskytuje externím klientům přístup pro čtení k tabulkám registrovaným v katalogu Unity. Někteří klienti také podporují vytváření tabulek a zápis do existujících tabulek.

Konfigurace přístupu pomocí koncového bodu /api/2.1/unity-catalog.

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. Následující typy tabulek mají nárok na čtení rozhraní Unity REST API:

  • Tabulky spravované Katalogem Unity
  • Externí tabulky Katalogu Unity

Abyste mohli nakonfigurovat přístup ke čtení objektů Databricks z klientů Delta pomocí rozhraní Unity REST API, musíte provést následující kroky konfigurace:

Čtení tabulek Delta pomocí Apache Sparku s využitím ověřování PAT

Ke čtení spravovaných a externích tabulek Delta ve službě Apache Spark 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>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"

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

  • <uc-catalog-name>: Název katalogu Unity, který obsahuje tabulky.
  • <workspace-url>: Adresa URL pracovního prostoru Azure Databricks.
  • <token>: Osobní přístupový token (PAT) pro subjekt konfigurovaný pro integraci.

Pokud chcete povolit automatické prodlužování přihlašovacích údajů pro dlouhotrvající úlohy, přidejte následující konfiguraci:

"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true

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í Databricks Runtime a verzí Sparku.

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

Čtení tabulek Delta pomocí Apache Sparku pomocí ověřování OAuth

Azure Databricks také podporuje ověřování M2M (machine-to-machine) OAuth. OAuth automaticky zpracovává prodlužování platnosti tokenů pro ověřování katalogu Unity. U dlouhotrvajících úloh, které také vyžadují automatické obnovení přihlašovacích údajů cloudového úložiště, povolte spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled nastavení v konfiguraci Sparku.

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

K čtení tabulek spravovaných službou Unity Catalog 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>/api/2.1/unity-catalog",
"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.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"

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

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.