Bagikan melalui


Membaca tabel-tabel Databricks dari klien Delta

Halaman ini memberikan gambaran umum tentang penggunaan Unity REST API untuk mengakses tabel terkelola dan eksternal Unity Catalog dari klien Delta eksternal. Untuk membuat tabel Delta eksternal dari klien eksternal, lihat Membuat tabel Delta eksternal dari klien eksternal.

Gunakan katalog Iceberg REST untuk membaca tabel terdaftar Unity Catalog di Azure Databricks dari klien Iceberg yang didukung, termasuk Apache Spark dan DuckDB.

Untuk daftar lengkap integrasi yang didukung, lihat Integrasi Katalog Unity.

Saran

Untuk informasi tentang cara membaca data Azure Databricks menggunakan Microsoft Fabric, lihat Menggunakan Microsoft Fabric untuk membaca data yang terdaftar di Unity Catalog.

Membaca dan menulis menggunakan Unity REST API

Unity REST API menyediakan akses baca klien eksternal ke tabel yang terdaftar ke Unity Catalog. Beberapa klien juga mendukung pembuatan tabel dan menulis ke tabel yang ada.

Konfigurasikan akses menggunakan titik akhir /api/2.1/unity-catalog.

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. Jenis tabel berikut memenuhi syarat untuk pembacaan Unity REST API:

  • Tabel yang dikelola oleh Unity Catalog.
  • Tabel eksternal Unity Catalog.

Anda harus menyelesaikan langkah-langkah konfigurasi berikut untuk mengonfigurasi akses untuk membaca objek Databricks dari klien Delta menggunakan Unity REST API:

Membaca tabel Delta dengan Apache Spark menggunakan autentikasi PAT

Konfigurasi berikut diperlukan untuk membaca tabel Delta yang dikelola dan eksternal Unity Catalog dengan Apache Spark menggunakan 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>/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"

Ganti variabel berikut:

  • <uc-catalog-name>: Nama katalog di Unity Catalog yang berisi tabel Anda.
  • <workspace-url>: URL ruang kerja Azure Databricks.
  • <token>: Token akses pribadi (PAT) untuk pengguna utama yang mengonfigurasi integrasi.

Untuk mengaktifkan perpanjangan kredensial otomatis untuk pekerjaan yang berjalan lama, tambahkan konfigurasi berikut:

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

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 Databricks Runtime dan versi Spark Anda.

Untuk detail tambahan tentang mengonfigurasi Apache Spark untuk penyimpanan objek cloud, lihat dokumentasi OSS Katalog Unity.

Membaca tabel Delta dengan Apache Spark menggunakan autentikasi OAuth

Azure Databricks juga mendukung autentikasi mesin-ke-mesin (M2M) OAuth. OAuth secara otomatis menangani perpanjangan token untuk autentikasi Katalog Unity. Untuk pekerjaan jangka panjang yang juga memerlukan perpanjangan kredensial penyimpanan cloud otomatis, aktifkan spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled pengaturan dalam konfigurasi Spark Anda.

Autentikasi OAuth untuk klien Spark eksternal memerlukan:

Konfigurasi berikut diperlukan untuk membaca tabel terkelola Katalog Unity 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>/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"

Ganti variabel berikut:

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.