Bagikan melalui


Menjalankan kueri federasi di Microsoft Azure Synapse

Penting

Fitur ini ada di Pratinjau Publik.

Artikel ini menjelaskan cara menyiapkan Federasi Lakehouse untuk menjalankan kueri gabungan pada data Azure Synapse (Gudang Data SQL) yang tidak dikelola oleh Azure Databricks. Untuk mempelajari selengkapnya tentang Federasi Lakehouse, lihat Apa itu Federasi Lakehouse.

Untuk menyambungkan ke database Azure Synapse (Gudang Data SQL) menggunakan Federasi Lakehouse, Anda harus membuat yang berikut ini di metastore Azure Databricks Unity Catalog Anda:

  • Koneksi ke database Azure Synapse (Gudang Data SQL) Anda.
  • Katalog asing yang mencerminkan database Azure Synapse (Gudang Data SQL) Anda di Katalog Unity sehingga Anda dapat menggunakan sintaksis kueri Dan alat tata kelola data Katalog Unity untuk mengelola akses pengguna Azure Databricks ke database.

Sebelum Anda mulai

Persyaratan ruang kerja:

  • Ruang kerja diaktifkan untuk Katalog Unity.

Persyaratan komputasi:

  • Konektivitas jaringan dari kluster Databricks Runtime atau gudang SQL Anda ke sistem database target. Lihat Rekomendasi jaringan untuk Federasi Lakehouse.
  • Kluster Azure Databricks harus menggunakan Databricks Runtime 13.3 LTS atau lebih tinggi dan mode akses bersama atau pengguna tunggal.
  • Gudang SQL harus Pro atau Tanpa Server.

Izin yang diperlukan:

  • Untuk membuat koneksi, Anda harus menjadi admin metastore atau pengguna dengan CREATE CONNECTION hak istimewa pada metastore Katalog Unity yang dilampirkan ke ruang kerja.
  • Untuk membuat katalog asing, Anda harus memiliki CREATE CATALOG izin di metastore dan menjadi pemilik koneksi atau memiliki CREATE FOREIGN CATALOG hak istimewa pada koneksi.

Persyaratan izin tambahan ditentukan di setiap bagian berbasis tugas yang mengikuti.

Buat sambungan

Koneksi menentukan jalur dan kredensial untuk mengakses sistem database eksternal. Untuk membuat koneksi, Anda bisa menggunakan Catalog Explorer atau CREATE CONNECTION perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan: Admin atau pengguna Metastore dengan CREATE CONNECTION hak istimewa.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Di panel kiri, perluas menu Data Eksternal dan pilih Koneksi ions.
  3. Klik Buat koneksi.
  4. Masukkan nama Koneksi ion yang mudah digunakan.
  5. Pilih jenisKoneksi ion SQLDW.
  6. Masukkan properti koneksi berikut untuk instans Azure Synapse Anda.
    • Host: Misalnya, sqldws-demo.database.windows.net.
    • Port: Misalnya, 1433
    • trustServerCertificate: Default ke false. Ketika diatur ke true, lapisan transportasi menggunakan SSL untuk mengenkripsi saluran dan melewati rantai sertifikat untuk memvalidasi kepercayaan. Biarkan ini diatur ke default kecuali Anda memiliki kebutuhan khusus untuk melewati validasi kepercayaan.
    • Pengguna
    • Password
  7. (Opsional) Klik Uji koneksi untuk mengonfirmasi bahwa koneksi berfungsi.
  8. (Opsional) Tambahkan komentar.
  9. Klik Buat.

Sql

Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL.

CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Kami menyarankan agar Anda menggunakan rahasia Azure Databricks alih-alih string teks biasa untuk nilai sensitif seperti kredensial. Contohnya:

CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Untuk informasi tentang menyiapkan rahasia, lihat Manajemen rahasia.

Membuat katalog asing

Katalog asing mencerminkan database dalam sistem data eksternal sehingga Anda dapat mengkueri dan mengelola akses ke data dalam database tersebut menggunakan Azure Databricks dan Unity Catalog. Untuk membuat katalog asing, Anda menggunakan koneksi ke sumber data yang telah ditentukan.

Untuk membuat katalog asing, Anda bisa menggunakan Catalog Explorer atau CREATE FOREIGN CATALOG perintah SQL di buku catatan Azure Databricks atau editor kueri Databricks SQL.

Izin diperlukan:CREATE CATALOG izin pada metastore dan kepemilikan koneksi atau CREATE FOREIGN CATALOG hak istimewa pada koneksi.

Penjelajah katalog

  1. Di ruang kerja Azure Databricks Anda, klik Ikon katalogKatalog.
  2. Klik tombol Buat Katalog .
  3. Pada dialog Buat katalog baru, masukkan nama untuk katalog dan pilih JenisAsing.
  4. Pilih Koneksi ion yang menyediakan akses ke database yang ingin Anda cerminkan sebagai katalog Katalog Unity.
  5. Masukkan nama Database yang ingin Anda cerminkan sebagai katalog.
  6. Klik Buat.

Sql

Jalankan perintah SQL berikut ini di notebook atau editor Databricks SQL. Item dalam tanda kurung bersifat opsional. Ganti nilai tempat penampung:

  • <catalog-name>: Nama untuk katalog di Azure Databricks.
  • <connection-name>: Objek koneksi yang menentukan sumber data, jalur, dan kredensial akses.
  • <database-name>: Nama database yang ingin Anda cerminkan sebagai katalog di Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

Pushdown yang didukung

Pushdown berikut didukung:

  • Filter
  • Proyeksi
  • Batas
  • Agregat (Rata-rata, Hitungan, Maks, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
  • Fungsi (Aritmatika dan fungsi lain-lain, seperti Alias, Cast, SortOrder)
  • Pengurutan

Pushdown berikut ini tidak didukung:

  • Gabungan
  • Fungsi Windows

Pemetaan jenis data

Saat Anda membaca dari Synapse / SQL Data Warehouse ke Spark, peta jenis data sebagai berikut:

Jenis Synapse Jenis Spark
desimal, uang, numerik, smallmoney DecimalType
smallint ShortType
tinyint ByteType
int IntegerType
bigint LongType
real FloatType
float DoubleType
char, nchar, ntext, nvarchar, text, uniqueidentifier, varchar, xml StringType
biner, geografi, geometri, gambar, tanda waktu, udt, varbinary BinaryType
bit BooleanType
date DateType
datetime, datetime, smalldatetime, time TimestampType/TimestampNTZType*

*Ketika Anda membaca dari Synapse / SQL Data Warehouse (SQLDW), SQLDW datetimes dipetakan ke Spark TimestampType jika preferTimestampNTZ = false (default). SQLDW datetimes dipetakan ke TimestampNTZType jika preferTimestampNTZ = true.