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.
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:
- Povolte pro metastor přístup k externím datům. Vizte Povolení přístupu k externím datům nametastoru.
- Udělete subjektu, který přistupuje k datům externě,
EXTERNAL USE SCHEMAoprávnění ke schématu obsahujícímu objekty. Viz Udělení oprávnění hlavního katalogu Unity. - U externích tabulek přístupných cestou: Udělte hlavnímu subjektu
EXTERNAL USE LOCATIONoprávnění k externímu umístění obsahujícímu cestu k tabulce. Viz Udělení oprávnění hlavního katalogu Unity. - Ujistěte se, že má objekt zabezpečení příslušná oprávnění:
-
SELECTv tabulce pro čtení -
MODIFYna tabulce pro zápisy -
CREATEve schématu pro vytvoření tabulky - U externích zápisů do spravovaných tabulek Delta ověřte, že má tabulka, do které zapisujete, povolená potvrzení katalogu.
-
- Ověřte se pomocí jedné z následujících metod:
- osobní přístupový token (PAT): viz Authorize access to Azure Databricks resources.
- Ověřování OAuth typu machine-to-machine (M2M): Podporuje automatické přihlašovací údaje a aktualizaci tokenů pro dlouhotrvající úlohy Sparku (>1 hodinu). Viz Autorizujte přístup instančního objektu k Azure Databricks pomocí OAuth.
Omezení
- Externí přístup k tabulkám UniForm s icebergCompatV3 se v současné době nepodporuje.
- Externí klienti nemohou měnit
delta.*vlastnosti tabulkydatabricks.*, přidávat nebo odebírat funkce tabulky, přejmenovávat sloupce a přidávatCHECKnebo odstraňovat omezení. - Externí klienti nemůžou provádět operace údržby tabulek, například
OPTIMIZE,VACUUMaANALYZE, 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:
- Klient Unity Catalog Spark verze 0.5.0 nebo novější (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 nebo 4.1
- Delta Spark 4.3.0 nebo novější
- Hlavní služba OAuth M2M s příslušnými oprávněními. Viz Autorizujte přístup instančního objektu k Azure Databricks pomocí OAuth.
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é:
-
<uc-catalog-name>: Název katalogu Unity, který obsahuje tabulky. -
<oauth-token-endpoint>: Adresa URL koncového bodu tokenu OAuth. Vytvoření této adresy URL:- Vyhledejte adresu URL Azure Databricks workspace.
- Použijte formát:
https://<workspace-url>/oidc/v1/token
-
<oauth-client-id>: ID klienta OAuth pro služební principál. Viz Autorizujte přístup instančního objektu k Azure Databricks pomocí OAuth. -
<oauth-client-secret>: OAuth klientský tajný klíč pro váš Service Principal. Viz Autorizujte přístup instančního objektu k Azure Databricks pomocí OAuth.
-
<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.