Bagikan melalui


Membaca tabel Azure Databricks dari klien Delta Lake

Halaman ini memberikan gambaran umum tentang penggunaan Unity REST API untuk mengakses tabel Unity Catalog yang dikelola dan tabel eksternal dari klien Delta Lake eksternal. Untuk membuat tabel Delta Lake 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 URL ruang kerja Anda. Klien Unity Catalog Spark secara otomatis merutekan permintaan ke titik akhir UNITY Catalog API yang sesuai.

Penting

URL ruang kerja yang digunakan untuk titik akhir Unity REST API harus menyertakan ID ruang kerja. Tanpa ID ruang kerja, permintaan API dapat mengembalikan 303 pengalihan ke halaman masuk alih-alih respons yang diharapkan.

Untuk menemukan URL ruang kerja dan ID ruang kerja Anda, lihat Nama instans ruang kerja, URL, dan ID.

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 Azure Databricks dari klien Delta Lake menggunakan Unity REST API:

Membaca tabel Delta Lake dengan Apache Spark menggunakan autentikasi OAuth

Azure Databricks 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 Apache Spark eksternal memerlukan:

Konfigurasi berikut diperlukan untuk membaca tabel terkelola Katalog Unity dan tabel Delta Lake 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.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:

  • <workspace-url>: URL ruang kerja Azure Databricks, 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.

Membaca tabel Delta Lake dengan Apache Spark menggunakan autentikasi PAT

Penting

Databricks merekomendasikan penggunaan OAuth alih-alih PAT untuk autentikasi akun pengguna karena OAuth memberikan keamanan yang lebih kuat. Untuk mempelajari cara mengautentikasi dengan akun pengguna Databricks menggunakan OAuth, lihat Mengotorisasi akses pengguna ke Azure Databricks dengan OAuth.

Konfigurasi

Paket atau JAR berikut harus disertakan dalam konfigurasi Spark Anda:

  • Delta Lake Spark (io.delta:delta-spark): Menyediakan dukungan Delta Lake untuk Apache Spark.
  • Konektor Unity Catalog Spark (io.unitycatalog:unitycatalog-spark): Menyambungkan Apache Spark ke Katalog Unity.
  • Konektor penyimpanan cloud: Diperlukan untuk mengakses penyimpanan objek cloud yang mendukung tabel Anda. Konektor bergantung pada penyedia cloud Anda:
    • AWS: org.apache.hadoop:hadoop-aws — menyediakan dukungan sistem file S3.
    • Azure: org.apache.hadoop:hadoop-azure — menyediakan dukungan Azure Data Lake Storage Gen2.
    • GCP: gcs-connector JAR — menyediakan dukungan Google Cloud Storage. Unduh JAR secara terpisah dan referensikan menggunakan spark.jars.

Untuk konfigurasi tambahan khusus cloud, lihat dokumentasi OSS Katalog Unity.

"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_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"

:::

Variabel

Ganti variabel berikut dalam konfigurasi:

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

Perpanjangan kredensial

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 Spark Anda.