Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini menjelaskan cara menggunakan Unity REST API untuk membuat, membaca, dan menulis ke Tabel terkelola Dan eksternal Unity Catalog dari klien Delta eksternal. Untuk daftar lengkap integrasi yang didukung, lihat Integrasi Katalog Unity.
Saran
Untuk informasi tentang cara membaca data Azure Databricks menggunakan Microsoft Fabric, lihat Microsoft Fabric dengan Azure Databricks.
Membuat, membaca, dan menulis menggunakan Unity REST API
Penting
Membuat dan menulis ke dalam tabel terkelola Unity Catalog dari klien Delta berstatus Pratinjau Umum.
Unity REST API menyediakan klien eksternal membuat, membaca, dan menulis akses ke tabel yang terdaftar ke Katalog Unity. Konfigurasikan akses menggunakan URL ruang kerja sebagai titik akhir. Jenis tabel berikut ini dapat diakses:
| Jenis tabel | Read | Menulis | Buat |
|---|---|---|---|
| Delta yang Dikelola | Yes | Ya* | Ya* |
| Delta Eksternal | Yes | Yes | Yes |
* Didukung untuk tabel Delta terkelola dengan komit katalog.
Klien yang didukung
Apache Spark mendukung pembuatan, pembacaan, dan penulisan ke tabel Delta terkelola dan eksternal di Unity Catalog menggunakan Unity REST API.
Klien berikut didukung di Beta. Hubungi tim akun Azure Databricks Anda jika Anda tertarik menggunakannya:
- Apache Flink
- DuckDB
- StreamNative
- Starburst
Persyaratan
Azure Databricks mendukung akses Unity REST API ke tabel sebagai bagian dari Unity Catalog. Anda harus memiliki Katalog Unity yang diaktifkan di ruang kerja Anda untuk menggunakan endpoint ini.
Anda juga harus menyelesaikan langkah-langkah konfigurasi berikut untuk mengonfigurasi akses ke tabel dari klien Delta menggunakan Unity REST API:
- Aktifkan akses data eksternal untuk metastore Anda. Lihat Mengaktifkan akses data eksternal di metastore.
- Berikan hak istimewa utama mengakses data secara
EXTERNAL USE SCHEMAeksternal pada skema yang berisi objek. Lihat Memberikan hak akses kepada prinsipal di Unity Catalog. - Untuk tabel eksternal yang diakses melalui jalur: Berikan hak istimewa kepada prinsipal
EXTERNAL USE LOCATIONdi lokasi eksternal yang berisi jalur tabel. Lihat Memberikan hak akses kepada prinsipal di Unity Catalog. - Pastikan bahwa prinsipal memiliki hak istimewa yang relevan:
-
SELECTpada tabel untuk pembacaan data -
MODIFYpada tabel untuk operasi penulisan -
CREATEpada skema untuk pembuatan tabel - Untuk penulisan eksternal ke tabel Delta terkelola, verifikasi bahwa tabel yang ditulis telah mengaktifkan komit katalog.
-
- Autentikasi menggunakan salah satu metode berikut:
- Token akses pribadi (PAT): Lihat Otorisasi akses ke sumber daya Azure Databricks.
- Autentikasi mesin-ke-mesin (M2M) OAuth: Mendukung pembaruan otomatis kredensial dan token untuk pekerjaan Spark yang berjalan lama (>1 jam). Lihat Otorisasi akses prinsipal layanan ke Azure Databricks dengan OAuth.
Keterbatasan
- Akses eksternal ke tabel UniForm dengan IcebergCompatV3 saat ini tidak didukung.
- Klien eksternal tidak dapat mengubah
delta.*ataudatabricks.*properti tabel, menambahkan atau menghapus fitur tabel, mengganti nama kolom, dan menambahkan atau menghilangkanCHECKbatasan. - Klien eksternal tidak dapat melakukan operasi pemeliharaan tabel, seperti
OPTIMIZE, ,VACUUMdanANALYZE, pada tabel Delta terkelola. - Klien eksternal tidak dapat membuat tabel dengan kolom yang dihasilkan, kolom default, atau kolom batasan.
- Saat membuat tabel eksternal, Azure Databricks merekomendasikan penggunaan Apache Spark untuk memastikan bahwa definisi kolom dalam format yang kompatibel dengan Apache Spark. API tidak memvalidasi kebenaran spesifikasi kolom. Jika spesifikasi tidak kompatibel dengan Apache Spark, maka Databricks Runtime mungkin tidak dapat membaca tabel.
Nota
Untuk membaca tabel dengan filter baris atau masker kolom yang dilampirkan dari klien Delta eksternal, lihat Kontrol akses berbasis atribut lintas mesin (ABAC) untuk versi dan konfigurasi klien yang diperlukan.
Mengakses tabel Delta dengan Apache Spark menggunakan autentikasi PAT
Autentikasi PAT untuk klien Spark eksternal memerlukan:
- Klien Unity Catalog Spark versi 0.5.0 atau lebih tinggi (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 atau 4.1
- Delta Spark 4.3.0 atau lebih tinggi
- Token akses pribadi untuk prinsipal yang mengakses Unity Catalog. Lihat Mengotorisasi akses ke sumber daya Azure Databricks.
Konfigurasi berikut diperlukan untuk membaca atau menulis ke tabel Delta terkelola dan eksternal Unity Catalog menggunakan Apache Spark dengan autentikasi PAT:
"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"
Ganti variabel berikut:
-
<uc-catalog-name>: Nama katalog di Unity Catalog yang berisi tabel Anda. -
<token>: Token akses pribadi (PAT) untuk pengguna utama yang mengonfigurasi integrasi.
-
<workspace-url>: URL Azure Databricks workspace, termasuk ID ruang kerja. Contohnya,adb-1234567890123456.12.azuredatabricks.net.
Nota
Versi paket yang ditunjukkan di atas adalah yang terbaru berdasarkan pembaruan terakhir halaman ini. Versi yang lebih baru mungkin tersedia. Verifikasi bahwa versi paket kompatibel dengan versi Spark Anda.
Untuk detail tambahan tentang mengonfigurasi Apache Spark untuk penyimpanan objek cloud, lihat dokumentasi OSS Katalog Unity.
Penting
Databricks Runtime 16.4 ke atas diperlukan untuk membaca dari, menulis ke, atau membuat tabel dengan commit katalog diaktifkan. Databricks Runtime 18.0 ke atas diperlukan untuk mengaktifkan atau menonaktifkan penerapan katalog pada tabel yang ada.
Untuk membuat tabel Delta terkelola dengan komitmen katalog, gunakan SQL berikut:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported') USING delta;
Untuk membuat tabel Delta eksternal, gunakan SQL berikut:
CREATE TABLE <uc-catalog-name>.<schema-name>.<table-name> (id INT, desc STRING)
USING delta
LOCATION <path>;
Mengakses tabel Delta dengan Apache Spark menggunakan autentikasi OAuth
Azure Databricks juga mendukung autentikasi mesin-ke-mesin (M2M) OAuth. OAuth secara otomatis menangani token dan perpanjangan kredensial untuk autentikasi Katalog Unity.
Autentikasi OAuth untuk klien Spark eksternal memerlukan:
- Klien Unity Catalog Spark versi 0.5.0 atau yang lebih baru (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 atau 4.1
- Delta Spark 4.3.0 atau yang lebih baru
- Perwakilan layanan M2M OAuth dengan izin yang sesuai. Lihat Otorisasi akses prinsipal layanan ke Azure Databricks dengan OAuth.
Konfigurasi berikut diperlukan untuk membuat, membaca, atau menulis ke tabel terkelola Unity Catalog dan tabel Delta eksternal dengan Apache Spark menggunakan autentikasi OAuth:
"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"
Ganti variabel berikut:
-
<uc-catalog-name>: Nama katalog di Unity Catalog yang berisi tabel Anda. -
<oauth-token-endpoint>: URL titik akhir token OAuth. Untuk membuat URL ini:- Temukan URL Azure Databricks workspace Anda.
- Gunakan format:
https://<workspace-url>/oidc/v1/token
-
<oauth-client-id>: ID klien OAuth untuk perwakilan layanan Anda. Lihat Otorisasi akses prinsipal layanan ke Azure Databricks dengan OAuth. -
<oauth-client-secret>: Rahasia klien OAuth untuk perwakilan layanan Anda. Lihat Otorisasi akses prinsipal layanan ke Azure Databricks dengan OAuth.
-
<workspace-url>: URL Azure Databricks workspace, termasuk ID ruang kerja. Contohnya,adb-1234567890123456.12.azuredatabricks.net.
Nota
Versi paket yang ditunjukkan di atas adalah yang terbaru berdasarkan pembaruan terakhir halaman ini. Versi yang lebih baru mungkin tersedia. Verifikasi bahwa versi paket kompatibel dengan versi Spark Anda.