Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada, Unity REST API'sinin dış Delta istemcilerinden Unity Kataloğu tarafından yönetilen ve dış tablolar oluşturmak, okumak ve bunlara yazmak için nasıl kullanılacağı açıklanmaktadır. Desteklenen tümleştirmelerin tam listesi için bkz. Unity Kataloğu tümleştirmeleri.
Bahşiş
Microsoft Fabric ile Azure Databricks verilerini okuma hakkında bilgi için bkz. Azure Databricks ile Microsoft Fabric.
Unity REST API'sini kullanarak oluşturma, okuma ve yazma
Önemli
Delta istemcilerinden Unity Catalog tarafından yönetilen tablolar oluşturma ve bu tablolara yazma Genel Önizleme aşamasındadır.
Unity REST API,Unity Kataloğu'na kayıtlı tablolara dış istemciler oluşturma, okuma ve yazma erişimi sağlar. Uç nokta olarak çalışma alanı URL'sini kullanarak erişimi yapılandırın. Aşağıdaki tablo türleri erişilebilir:
| Tablo türü | Read | Write | Oluştur |
|---|---|---|---|
| Yönetilen Delta | Evet | Evet* | Evet* |
| Dış Delta | Evet | Evet | Evet |
* Katalog işlemeleri ile yönetilen Delta tabloları için desteklenir.
Desteklenen istemciler
Apache Spark, Unity REST API'sini kullanarak Unity Kataloğu yönetilen ve dış Delta tablolarını oluşturmak, okumak ve bu tablolara yazmak için desteklenir.
Aşağıdaki istemciler Beta'da desteklenir. Bunları kullanmak istiyorsanız Azure Databricks hesap ekibinize başvurun:
- Apache Flink
- DuckDB
- StreamNative
- Starburst
Gereksinimler
Azure Databricks, Unity Kataloğu'nun bir parçası olarak tablolara Unity REST API erişimini destekler. Bu uç noktaları kullanmak için çalışma alanınızda Unity Kataloğu'nu etkinleştirmiş olmanız gerekir.
Unity REST API'sini kullanarak Delta istemcilerinden tablolara erişimi yapılandırmak için aşağıdaki yapılandırma adımlarını da tamamlamanız gerekir:
- Meta veri deponuz için Dış veri erişimi etkinleştirin. Bkz. Meta veri deposunda dış veri erişimini etkinleştirme.
- Verilere dışarıdan erişen sorumluya
EXTERNAL USE SCHEMAnesneleri içeren şemada ayrıcalık verin. Bkz. Bir kimseye Unity Catalog ayrıcalıklarını verin. - Yol tarafından erişilen dış tablolar için: Sorumluya
EXTERNAL USE LOCATIONtablo yolunu içeren dış konumda ayrıcalık verin. Bkz. Bir kimseye Unity Catalog ayrıcalıklarını verin. - Sorumlunun ilgili ayrıcalıklara sahip olduğundan emin olun:
-
SELECTokumalar için tabloda -
MODIFYyazma işlemleri için tabloda -
CREATEtablo oluşturma şemasında - Yönetilen Delta tablolarına dış yazma işlemleri için, yazılmakta olan tabloda katalog işlemelerinin etkinleştirildiğini doğrulayın.
-
- Aşağıdaki yöntemlerden birini kullanarak kimlik doğrulaması yapın:
- Kişisel erişim belirteci (PAT): Bkz. Azure Databricks kaynaklarına erişimi yetkilendirme.
- OAuth makineden makineye (M2M) kimlik doğrulaması: Uzun süre çalışan Spark işleri (>1 saat) için otomatik kimlik bilgilerini ve belirteç yenilemeyi destekler. Azure Databricks üzerinde OAuth ile hizmet sorumlusu erişimini yetkilendirme için Yetkilendirmeye bakın.
Sınırlamalar
- IcebergCompatV3 ile UniForm tablolarına dış erişim şu anda desteklenmiyor.
- Dış istemciler tablo özelliklerini değiştiremez veya
delta.*tablo özelliklerini değiştiremezdatabricks.*, tablo özellikleri ekleyemez veya kaldıramaz, sütunları yeniden adlandıramaz ve kısıtlamaları ekleyemez veya bırakamazCHECK. - Dış istemciler yönetilen Delta tablolarında ,
OPTIMIZEveVACUUMgibiANALYZEtablo bakım işlemlerini gerçekleştiremez. - Dış istemciler, oluşturulan sütunlar, varsayılan sütunlar veya kısıtlama sütunları içeren tablolar oluşturamaz.
- Dış tablolar oluştururken, Azure Databricks sütun tanımlarının Apache Spark ile uyumlu bir biçimde olduğundan emin olmak için Apache Spark kullanılmasını önerir. API, sütun belirtiminin doğruluğunu doğrulamaz. Belirtim Apache Spark ile uyumlu değilse Databricks Runtime tabloları okuyamayabilir.
Uyarı
Harici bir Delta istemcisinden eklenmiş satır filtreleri veya sütun maskeleri içeren tabloları okumak için, gerekli istemci sürümleri ve yapılandırma hakkında Motorlar arası öznitelik tabanlı erişim denetimleri (ABAC) bölümüne bakın.
PAT kimlik doğrulamasını kullanarak Apache Spark ile Delta tablolarına erişme
Dış Spark istemcileri için PAT kimlik doğrulaması şunları gerektirir:
- Unity Kataloğu Spark istemci sürümü 0.5.0 veya üzeri (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 veya 4.1
- Delta Spark 4.3.0 veya üzeri
- Unity Kataloğu'na erişen sorumlu için kişisel erişim belirteci. Bkz. Azure Databricks kaynaklarına erişimi yetkilendirme.
PAT kimlik doğrulamasını kullanarak Apache Spark ile Unity Kataloğu yönetilen ve dış Delta tablolarını okumak veya bu tablolara yazmak için aşağıdaki yapılandırma gereklidir:
"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"
Aşağıdaki değişkenleri değiştirin:
-
<uc-catalog-name>: Unity Kataloğu'nda tablolarınızı içeren kataloğun adı. -
<token>: Tümleştirmeyi yapılandıran sorumlu için kişisel erişim belirteci (PAT).
-
<workspace-url>: Azure Databricks çalışma alanı URL'si, çalışma alanı kimliği dahil olmak üzere. Örneğin,adb-1234567890123456.12.azuredatabricks.net.
Uyarı
Yukarıda gösterilen paket sürümleri, bu sayfada yapılan son güncelleştirmeden itibaren geçerlidir. Daha yeni sürümler kullanılabilir. Paket sürümlerinin Spark sürümünüzle uyumlu olduğunu doğrulayın.
Bulut nesne depolaması için Apache Spark'ı yapılandırma hakkında ek ayrıntılar için Unity Kataloğu OSS belgelerine bakın.
Önemli
Databricks Runtime 16.4 ve üzeri, katalog işlemeleri etkinleştirilmiş tabloları okumak, yazmak veya oluşturmak için gereklidir. Mevcut tablolarda katalog işlemelerini etkinleştirmek veya devre dışı bırakmak için Databricks Runtime 18.0 ve üzeri gereklidir.
Katalog işlemeleriyle yönetilen Delta tabloları oluşturmak için aşağıdaki SQL'i kullanın:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported') USING delta;
Dış Delta tabloları oluşturmak için aşağıdaki SQL'i kullanın:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
USING delta
LOCATION <path>;
OAuth kimlik doğrulamasını kullanarak Apache Spark ile Delta tablolarına erişme
Azure Databricks ayrıca OAuth makineden makineye (M2M) kimlik doğrulamasını da destekler. OAuth, Unity Kataloğu kimlik doğrulaması için belirteci ve kimlik bilgisi yenilemeyi otomatik olarak işler.
Dış Spark istemcileri için OAuth kimlik doğrulaması şunları gerektirir:
- Unity Kataloğu Spark istemci sürümü 0.5.0 veya üzeri (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 veya 4.1
- Delta Spark 4.3.0 veya üzeri
- Uygun izinlere sahip bir OAuth M2M hizmet sorumlusu. Azure Databricks üzerinde OAuth ile hizmet sorumlusu erişimini yetkilendirme için Yetkilendirmeye bakın.
OAuth kimlik doğrulamasını kullanarak Apache Spark ile Unity Kataloğu yönetilen tabloları ve dış Delta tablolarını oluşturmak, okumak veya yazmak için aşağıdaki yapılandırma gereklidir:
"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"
Aşağıdaki değişkenleri değiştirin:
-
<uc-catalog-name>: Unity Kataloğu'nda tablolarınızı içeren kataloğun adı. -
<oauth-token-endpoint>: OAuth belirteci uç noktası URL'si. Bu URL'yi oluşturmak için:- Azure Databricks çalışma alanı URL’sini bulun.
- Şu biçimi kullanın:
https://<workspace-url>/oidc/v1/token
-
<oauth-client-id>: Hizmet sorumlunuz için OAuth istemci kimliği. Azure Databricks üzerinde OAuth ile hizmet sorumlusu erişimini yetkilendirme için Yetkilendirmeye bakın. -
<oauth-client-secret>: Hizmet sorumlunuz için OAuth istemci gizli anahtarı. Azure Databricks üzerinde OAuth ile hizmet sorumlusu erişimini yetkilendirme için Yetkilendirmeye bakın.
-
<workspace-url>: Azure Databricks çalışma alanı URL'si, çalışma alanı kimliği dahil olmak üzere. Örneğin,adb-1234567890123456.12.azuredatabricks.net.
Uyarı
Yukarıda gösterilen paket sürümleri, bu sayfada yapılan son güncelleştirmeden itibaren geçerlidir. Daha yeni sürümler kullanılabilir. Paket sürümlerinin Spark sürümünüzle uyumlu olduğunu doğrulayın.