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 menyiapkan Federasi Lakehouse untuk menjalankan kueri federasi pada data SQL Server yang tidak dikelola oleh Azure Databricks. Untuk mempelajari selengkapnya tentang Federasi Lakehouse, lihat Apa itu Federasi Lakehouse?
Untuk menyambungkan ke database SQL Server Anda menggunakan Federasi Lakehouse, Anda harus membuat yang berikut ini di metastore Azure Databricks Unity Catalog Anda:
- Koneksi ke database SQL Server Anda.
- Katalog asing yang mencerminkan database SQL Server Anda di Unity Catalog sehingga Anda dapat menggunakan sintaks kueri Unity Catalog dan alat tata kelola data untuk mengelola akses pengguna Azure Databricks ke database.
Federasi Lakehouse mendukung SQL Server, Azure SQL Database, dan Azure SQL Managed Instance.
Sebelum Anda mulai
Persyaratan ruang kerja:
- Workspace telah diaktifkan untuk Unity Catalog.
Persyaratan komputasi:
- Konektivitas jaringan dari sumber daya komputasi Anda ke sistem database target. Lihat Rekomendasi jaringan untuk Federasi Lakehouse.
- Komputasi Azure Databricks harus menggunakan Databricks Runtime 13.3 LTS atau yang lebih tinggi serta mode akses Standar atau mode akses Dedicated .
- Gudang SQL harus pro atau tanpa server dan harus menggunakan 2023.40 atau lebih tinggi.
Izin diperlukan:
- Untuk membuat koneksi, Anda harus menjadi administrator metastore atau pengguna yang memiliki hak istimewa
CREATE CONNECTIONpada metastore Unity Catalog yang terhubung dengan ruang kerja. - Untuk membuat katalog asing, Anda harus memiliki izin
CREATE CATALOGdi metastore dan menjadi pemilik koneksi atau memiliki hak istimewaCREATE FOREIGN CATALOGpada koneksi.
Persyaratan izin tambahan ditentukan di setiap bagian berbasis tugas yang mengikuti.
- Jika Anda berencana untuk mengautentikasi ke SQL Server menggunakan MICROSOFT Entra ID, selesaikan penyiapan di Mengonfigurasi ID Microsoft Entra untuk federasi SQL Server.
Buat sambungan
Koneksi menentukan jalur dan kredensial untuk mengakses sistem database eksternal. Untuk membuat koneksi, Anda bisa menggunakan Catalog Explorer atau perintah SQL CREATE CONNECTION di buku catatan Azure Databricks atau editor kueri Databricks SQL.
Note
Anda juga dapat menggunakan Databricks REST API atau Databricks CLI untuk membuat koneksi. Lihat perintah POST /api/2.1/unity-catalog/connections dan perintah Unity Catalog.
Izin diperlukan: Admin atau pengguna Metastore dengan CREATE CONNECTION hak istimewa.
Eksplorer Katalog
Di ruang kerja Azure Databricks Anda, klik
Katalog.
Di bagian atas panel Katalog, klik ikon
atau ikon plus dan pilih Tambahkan koneksi dari menu.Atau, dari halaman Akses cepat , klik tombol Data eksternal , buka tab Koneksi , dan klik Buat koneksi.
Pada halaman Dasar-dasar Koneksi di wizard Menyiapkan Koneksi, masukkan nama Koneksi yang mudah dipahami.
Pilih Jenis koneksiSQL Server.
Pilih jenis AutentikasiOAuth, Komputer OAuth ke Mesin, atau Nama pengguna dan kata sandi (autentikasi dasar).
(Opsional) Tambahkan komentar.
Klik Berikutnya.
Pada halaman Autentikasi
, masukkan properti koneksi berikut untuk instans SQL Server Anda. Properti yang khusus untuk metode autentikasi yang Anda pilih didahului oleh Auth typedalam tanda kurung.- Host: Server SQL Anda.
- (Autentikasi dasar) Pelabuhan
- (Autentikasi dasar) trustServerCertificate: Default ke
false. Ketika diatur ketrue, lapisan transportasi menggunakan SSL untuk mengenkripsi saluran dan melewati rantai sertifikat untuk memvalidasi kepercayaan. Biarkan ini dibiarkan pada pengaturan default kecuali Anda memiliki kebutuhan khusus untuk mengabaikan validasi kepercayaan. - (Autentikasi dasar) Pengguna
- (Autentikasi dasar) Kata sandi
- (OAuth) Masukkan detail koneksi yang Anda kumpulkan di Mengonfigurasi ID Microsoft Entra untuk federasi SQL Server.
Klik Buat koneksi.
(Autentikasi dasar) Pada halaman detail Koneksi
, tentukan yang berikut ini: - Sertifikat Kepercayaan Server: Ini tidak dipilih secara default. Saat dipilih, lapisan transportasi menggunakan SSL untuk mengenkripsi saluran dan melewati rantai sertifikat untuk memvalidasi kepercayaan. Biarkan ini dibiarkan pada pengaturan default kecuali Anda memiliki kebutuhan khusus untuk mengabaikan validasi kepercayaan.
- Niat aplikasi: Jenis beban kerja aplikasi saat menyambungkan ke server.
Klik Berikutnya.
Pada halaman dasar-dasar katalog , masukkan nama untuk 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.
Klik Buat katalog.
Pada halaman Access, pilih ruang kerja tempat pengguna dapat mengakses katalog yang Anda buat. Anda dapat memilih Semua ruang kerja memiliki akses, atau klik Tetapkan ke ruang kerja, pilih ruang kerja, lalu klik Tetapkan.
Ubah Pemilik yang akan dapat mengelola akses ke semua objek dalam katalog. Mulai ketik prinsipal dalam kotak teks, lalu klik prinsipal dalam hasil yang dikembalikan.
Berikan Hak Akses pada katalog. Klik Berikan:
- Tentukan Prinsipal yang akan memiliki akses ke objek dalam katalog. Mulai ketik prinsipal dalam kotak teks, lalu klik prinsipal dalam hasil yang dikembalikan.
- Pilih preset Hak Istimewa untuk diberikan kepada setiap prinsipal. Semua pengguna akun diberikan
BROWSEsecara default.- Pilih Pembaca Data dari menu drop-down untuk memberikan izin
readpada objek dalam katalog. - Pilih Editor Data
dari menu drop-down untuk memberikan hak istimewa dan pada objek dalam katalog. - Pilih hak istimewa yang akan diberikan secara manual.
- Pilih Pembaca Data dari menu drop-down untuk memberikan izin
- Klik pada Berikan.
Klik Berikutnya.
Pada halaman Metadata
, tentukan pasangan kunci-nilai tag. Untuk informasi selengkapnya, lihat Menerapkan tag ke objek yang dapat diamankan pada Katalog Unity. (Opsional) Tambahkan komentar.
Kliklah Simpan.
Note
(OAuth) Titik akhir OAuth ID Azure Entra harus dapat diakses dari IP sarana kontrol Azure Databricks. Lihat Wilayah Azure Databricks.
SQL
Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL.
CREATE CONNECTION <connection-name> TYPE sqlserver
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Kami menyarankan agar Anda menggunakan Azure Databricks rahasia alih-alih string teks biasa untuk nilai sensitif seperti kredensial. Contohnya:
CREATE CONNECTION <connection-name> TYPE sqlserver
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
Note
Jika Anda menggunakan UI untuk membuat koneksi ke sumber data, pembuatan katalog asing disertakan dan Anda dapat melewati langkah ini.
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 perintah CREATE FOREIGN CATALOG SQL di buku catatan Azure Databricks atau editor kueri SQL. Anda juga dapat menggunakan Databricks REST API atau Databricks CLI untuk membuat katalog. Lihat perintah POST /api/2.1/unity-catalog/catalogs dan perintah Unity Catalog.
Izin diperlukan:CREATE CATALOG izin pada metastore dan kepemilikan koneksi atau CREATE FOREIGN CATALOG hak istimewa pada koneksi.
Eksplorer Katalog
Di ruang kerja Azure Databricks Anda, klik
Katalog untuk membuka Catalog Explorer.
Di bagian atas panel Katalog , klik ikon Tambahkan atau plus
dan pilih Tambahkan katalog dari menu.Atau, dari halaman akses cepat, klik tombol Katalog, lalu klik tombol Buat katalog.
Ikuti instruksi untuk membuat katalog asing di Membuat katalog.
SQL
Jalankan perintah SQL berikut ini di buku catatan atau editor kueri SQL. Item dalam tanda kurung bersifat opsional. Ganti nilai placeholder ini:
-
<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>');
Fitur pushdown yang didukung
Pushdown berikut didukung pada semua komputasi:
- Filters
- Projections
- Limit
- Fungsi: parsial, hanya untuk ekspresi filter. (Fungsi string, fungsi Matematika, Fungsi Data, Waktu dan Tanda Waktu, dan fungsi lain-lain, seperti Alias, Cast, SortOrder)
Pushdown berikut didukung pada Databricks Runtime 13.3 LTS ke atas, dan pada komputasi gudang SQL:
- Aggregates
- Operator Boolean berikut: =, <, <=, >, >=, <=>
- Fungsi matematika berikut (tidak didukung jika ANSI dinonaktifkan): +, -, *, %, /
- Operator lain-lain berikut: ^, |, ~
- Pengurutan, ketika digunakan dengan batasan
Pushdown berikut ini tidak didukung:
- Joins
- Fungsi Windows
Pemetaan jenis data
Saat Anda membaca dari SQL Server ke Spark, jenis data memetakan sebagai berikut:
| Jenis SQL Server | Jenis Spark |
|---|---|
| bigint (unsigned), desimal, uang, numerik, smallmoney | DecimalType |
| bilangan bulat kecil, bilangan bulat sangat kecil | ShortType |
| int | IntegerType |
| bigint (jika ditandatangani) | LongType |
| real | FloatType |
| float | DoubleType |
| char, nchar, uniqueidentifier | CharType |
| nvarchar, varchar | VarcharType |
| teks, xml | StringType |
| biner, geografi, geometri, gambar, tanda waktu, udt, varbinary | BinaryType |
| bit | BooleanType |
| date | DateType |
| datetime, datetime, tanggalwaktu-kecil, time | TimestampType/TimestampNTZType |
*Saat Anda membaca dari SQL Server, SQL Server datetimes dipetakan ke Spark TimestampType jika preferTimestampNTZ = false (default). SQL Server datetimes dipetakan ke TimestampNTZType jika preferTimestampNTZ = true.