Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a lap bemutatja, hogyan hozhat létre, olvashat és írhat Unity Katalógus által felügyelt és külső táblákat külső Delta-ügyfelekről a Unity REST API használatával. A támogatott integrációk teljes listájáért tekintse meg a Unity Catalog-integrációkat.
Borravaló
Az Azure Databricks adatok Microsoft Fabric használatával történő olvasásáról további információt a Microsoft Fabric Azure Databricks című témakörben talál.
Létrehozás, olvasás és írás a Unity REST API használatával
Fontos
A Unity Catalog által felügyelt táblák létrehozása és írása a Delta-ügyfelekről nyilvános előzetes verzióban érhető el.
A Unity REST API külső ügyfelek számára biztosít létrehozási, olvasási és írási hozzáférést a Unity Catalogban regisztrált táblákhoz. Konfigurálja a hozzáférést a munkaterület URL-címével végpontként. A következő táblázattípusok érhetők el:
| Táblázat típusa | Olvasd | Írj! | Teremtsd meg |
|---|---|---|---|
| Felügyelt Delta | Igen | Igen* | Igen* |
| Külső delta | Igen | Igen | Igen |
* A katalógus véglegesítéseivel rendelkező felügyelt Delta-táblák esetében támogatott.
Támogatott ügyfelek
Az Apache Spark támogatja a Unity Catalog által felügyelt és külső Delta-táblák létrehozását, olvasását és írását a Unity REST API-n keresztül.
A bétaverzió az alábbi ügyfeleket támogatja. Ha szeretné használni őket, lépjen kapcsolatba Azure Databricks fiókcsapatával:
- Apache Flink
- DuckDB
- StreamNative
- Starburst
Követelmények
Azure Databricks támogatja a Unity REST API-nak a táblákhoz való hozzáférését a Unity Catalog részeként. Ezeknek a végpontoknak a használatához engedélyeznie kell a Unity Katalógust a munkaterületen.
A Delta-ügyfelek tábláihoz való hozzáférés a Unity REST API-val való konfigurálásához a következő konfigurációs lépéseket is el kell végeznie:
- Engedélyezze külső adathozzáférési a metaadattárhoz. Lásd: Külső adathozzáférés engedélyezése a metaadattár.
- Az
EXTERNAL USE SCHEMAkiváltság megadása az objektumokat tartalmazó sémán az adatokhoz való külső hozzáférést igénylő principal számára. Lásd: Fő Unity-katalógusbeli jogosultságok megadása. - A fájlútvonal által elért külső táblák esetén: Adja meg a
EXTERNAL USE LOCATIONjogosultságot annak a személynek a külső helyszínen, amely tartalmazza a tábladatokat. Lásd: Fő Unity-katalógusbeli jogosultságok megadása. - Győződjön meg arról, hogy a főfelhasználó rendelkezik megfelelő jogosultságokkal:
-
SELECTa táblázatban az olvasáshoz -
MODIFYa táblában az írásokhoz -
CREATEa táblalétrehozás sémáján - A felügyelt Delta-táblákba irányuló külső írások esetében ellenőrizze, hogy a táblához a katalógus-kommitok engedélyezve vannak-e.
-
- Hitelesítés az alábbi módszerek egyikével:
- Személyes hozzáférési jogkivonat (PAT): Lásd: A Azure Databricks erőforrásokhoz való hozzáférés engedélyezése.
- OAuth machine-to-machine (M2M) hitelesítés: Támogatja az automatikus hitelesítő adatok és jogkivonatok frissítését a hosszú ideig futó Spark-feladatokhoz (>1 óra). Lásd: Szolgáltatásnévhez való hozzáférés engedélyezése az Azure Databrickshez OAuth használatával.
Korlátozások
- A külső hozzáférés táblázatokhoz Iceberg olvasásokkal és IcebergCompatV3-mal jelenleg nem támogatott.
- A külső ügyfelek nem módosíthatják
delta.*vagydatabricks.*törölhetik a táblatulajdonságokat, nem adhatnak hozzá vagy távolíthatók el a táblafunkciók, átnevezhetők az oszlopok, és nem adhatnak hozzá vagy helyezhetnek elCHECKkorlátozásokat. - A külső ügyfelek nem hajthatnak végre táblakarbantartási műveleteket, például
OPTIMIZE,VACUUMésANALYZE, kezelt Delta-táblákon. - A külső ügyfelek nem hozhatnak létre létrehozott oszlopokat, alapértelmezett oszlopokat vagy kényszeroszlopokat tartalmazó táblákat.
- Külső táblák létrehozásakor Azure Databricks azt javasolja, hogy az Apache Spark használatával győződjön meg arról, hogy az oszlopdefiníciók kompatibilisek az Apache Sparkpal. Az API nem ellenőrzi az oszlopspecifikáció helyességét. Ha a specifikáció nem kompatibilis az Apache Sparkkal, előfordulhat, hogy a Databricks Runtime nem tudja olvasni a táblákat.
Megjegyzés:
Ha egy külső Delta-ügyfélhez csatolt sorszűrőket vagy oszlopmaszkokat tartalmazó táblákat szeretne olvasni, tekintse meg a motorközi attribútumalapú hozzáférés-vezérlést (ABAC) a szükséges ügyfélverziók és -konfigurációk esetében.
Delta-táblák elérése az Apache Spark használatával PAT-hitelesítéssel
A külső Spark-ügyfelek PAT-hitelesítéséhez a következőre van szükség:
- Unity Catalog Spark-ügyfél 0.5.0-s vagy újabb verziója (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 vagy 4.1
- Delta Spark 4.3.0 vagy újabb
- A Unity Catalogot elérő szereplő személyes hozzáférési tokenje. Lásd: A Azure Databricks erőforrásokhoz való hozzáférés engedélyezése.
A következő konfiguráció szükséges a Unity Catalog által felügyelt és külső Delta-táblák olvasásához vagy írásához az Apache Spark használatával PAT-hitelesítéssel:
"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"
Cserélje le a következő változókat:
-
<uc-catalog-name>: Az Unity Catalog katalógusának neve, amely tartalmazza a táblákat. -
<token>: Az integrációt konfiguráló főentitás személyes hozzáférési jogkivonata (PAT).
-
<workspace-url>: A Azure Databricks munkatér URL-címe, beleértve a munkaterület azonosítóját. Például:adb-1234567890123456.12.azuredatabricks.net.
Megjegyzés:
A fent látható csomagverziók a lap utolsó frissítésétől aktuálisak. Lehetséges, hogy újabb verziók érhetők el. Ellenőrizze, hogy a csomagverziók kompatibilisek-e a Spark-verzióval.
Az Apache Spark felhőbeli objektumtárolóhoz való konfigurálásával kapcsolatos további részletekért tekintse meg a Unity Catalog OSS dokumentációját.
Fontos
A Databricks Runtime 16.4 vagy újabb verzió szükséges a táblák olvasásához, írásához vagy létrehozásához, amikor a katalógus-kötelezettségvállalások engedélyezettek. A Databricks Runtime 18.0-s vagy újabb verziója szükséges a katalógus véglegesítésének engedélyezéséhez vagy letiltásához a meglévő táblákon.
A katalógus véglegesítéseivel rendelkező felügyelt Delta-táblák létrehozásához használja a következő SQL-t:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported') USING delta;
Külső Delta-táblák létrehozásához használja a következő SQL-t:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
USING delta
LOCATION <path>;
Delta-táblák elérése az Apache Spark használatával OAuth-hitelesítéssel
Azure Databricks az OAuth machine-to-machine (M2M) hitelesítést is támogatja. Az OAuth automatikusan kezeli a tokenek és hitelesítő adatok megújítását a Unity Catalog-hitelesítés során.
A külső Spark-ügyfelek OAuth-hitelesítéséhez a következőre van szükség:
- Unity Catalog Spark-ügyfél 0.5.0-s vagy újabb verziója (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 vagy 4.1
- Delta Spark 4.3.0 vagy újabb
- OAuth M2M szolgáltatási fiók megfelelő engedélyekkel. Lásd: Szolgáltatásnévhez való hozzáférés engedélyezése az Azure Databrickshez OAuth használatával.
A következő konfiguráció szükséges ahhoz, hogy a Unity Catalog által felügyelt táblákat és külső Delta-táblákat OAuth-hitelesítéssel hozzon létre, olvasson vagy írjon be a Unity Catalog-ba és külső Delta-táblákba az Apache Spark használatával:
"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"
Cserélje le a következő változókat:
-
<uc-catalog-name>: Az Unity Catalog katalógusának neve, amely tartalmazza a táblákat. -
<oauth-token-endpoint>: OAuth token végpont URL-címe. Ennek az URL-címnek a létrehozása:- Keresse meg a Azure Databricks munkatér URL-címét.
- Használja a következő formátumot:
https://<workspace-url>/oidc/v1/token
-
<oauth-client-id>: A szolgáltatásnév OAuth-ügyfélazonosítója. Lásd: Szolgáltatásnévhez való hozzáférés engedélyezése az Azure Databrickshez OAuth használatával. -
<oauth-client-secret>: OAuth ügyféltitok a szolgáltatási princípiumhoz. Lásd: Szolgáltatásnévhez való hozzáférés engedélyezése az Azure Databrickshez OAuth használatával.
-
<workspace-url>: A Azure Databricks munkatér URL-címe, beleértve a munkaterület azonosítóját. Például:adb-1234567890123456.12.azuredatabricks.net.
Megjegyzés:
A fent látható csomagverziók a lap utolsó frissítésétől aktuálisak. Lehetséges, hogy újabb verziók érhetők el. Ellenőrizze, hogy a csomagverziók kompatibilisek-e a Spark-verzióval.