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.
Artikel ini menjelaskan cara menyiapkan Lakehouse Federation untuk menjalankan kueri federasi pada data Databricks di ruang kerja Databricks lain. Untuk mempelajari selengkapnya tentang Federasi Lakehouse, lihat Apa itu Federasi Lakehouse?.
Penting
Databricks-to-Databricks Lakehouse Federation adalah alat yang baik untuk menjalankan kueri pada data yang dikelola oleh metastore Hive atau AWS Glue dari ruang kerja Databricks lain. Untuk sebagian besar skenario lainnya, alur kerja Azure Databricks lainnya lebih efisien:
- Jika ruang kerja Azure Databricks berbagi metastore Unity Catalog yang sama, Anda dapat mengelola kueri lintas ruang kerja menggunakan kueri Unity Catalog standar dan alat tata kelola data.
- Jika Anda ingin akses baca saja ke data di ruang kerja Databricks yang terkait dengan metastore Unity Catalog yang berbeda, baik dalam akun Azure Databricks Anda atau tidak, Delta Sharing adalah pilihan yang lebih baik.
Tidak perlu menyiapkan Federasi Lakehouse dalam salah satu skenario ini.
Untuk menyambungkan ke katalog Databricks di ruang kerja lain menggunakan Federasi Lakehouse, Anda harus membuat hal berikut di metastore Azure Databricks Unity Catalog Anda:
- Kluster atau gudang SQL di ruang kerja Databricks.
- Koneksi ke kluster atau gudang SQL.
- Katalog asing di metastore Unity Catalog Anda yang mencerminkan katalog Databricks lainnya yang dapat diakses dari kluster atau gudang SQL sehingga Anda dapat menggunakan sintaks kueri Unity Catalog dan alat tata kelola data untuk mengelola akses pengguna Azure Databricks ke data.
Sebelum Anda mulai
Persyaratan ruang kerja:
- Diaktifkan ruang kerja untuk Katalog Unity. Ruang kerja yang dibuat setelah 9 November 2023 aktif untuk Katalog Unity secara otomatis, termasuk penyediaan metastore otomatis. Anda tidak perlu membuat metastore secara manual, kecuali jika ruang kerja Anda dibuat sebelum pengaktifan otomatis dan belum diaktifkan untuk Katalog Unity. Lihat Pengaktifan otomatis 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 yang diperlukan:
- Untuk membuat koneksi, Anda harus menjadi admin metastore atau pengguna dengan privilese
CREATE CONNECTIONpada metastore Unity Catalog yang terhubung ke ruang kerja. Di ruang kerja yang diaktifkan untuk Katalog Unity secara otomatis, admin ruang kerja memilikiCREATE CONNECTIONhak istimewa secara default. - Untuk membuat katalog asing, Anda harus memiliki izin
CREATE CATALOGdi metastore dan menjadi pemilik koneksi atau memiliki hak istimewaCREATE FOREIGN CATALOGpada koneksi. Di ruang kerja yang diaktifkan untuk Katalog Unity secara otomatis, admin ruang kerja memilikiCREATE CATALOGhak istimewa secara default.
Persyaratan izin tambahan ditentukan di setiap bagian berbasis tugas yang berikut.
Anda juga harus memiliki kluster aktif atau gudang SQL di ruang kerja Azure Databricks yang Anda gunakan untuk mengonfigurasi koneksi.
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.
Catatan
Anda juga dapat menggunakan Databricks REST API atau Databricks CLI untuk membuat koneksi. Lihat POST /api/2.1/unity-catalog/connections dan perintah Unity Catalog.
Izin diperlukan: Admin atau pengguna Metastore dengan CREATE CONNECTION hak istimewa.
Penjelajah Katalog
- Di ruang kerja Azure Databricks Anda, klik
Katalog.
- Di bagian atas panel Katalog , klik
Tambahkan ikon dan pilih Buat koneksi dari menu. - Pada halaman Dasar-Dasar Koneksi dari wizard Menyiapkan Koneksi, masukkan Nama Koneksi yang mudah dipahami pengguna.
- Pilih jenis koneksiDatabricks.
- (Opsional) Tambahkan komentar.
- Klik Berikutnya.
- Pada halaman Autentikasi , masukkan properti koneksi berikut untuk instans Databricks lainnya:
- Host: Nama instans ruang kerja. Untuk mempelajari cara mendapatkan nama instans ruang kerja, lihat Dapatkan pengidentifikasi untuk objek ruang kerja.
- Token akses pribadi: Token akses pribadi Azure Databricks yang memungkinkan akses ke workspace target. Untuk mempelajari cara mendapatkan token, lihat Mengautentikasi dengan token akses pribadi Azure Databricks (warisan). Untuk koneksi, Databricks merekomendasikan penggunaan token akses pribadi untuk perwakilan layanan.
-
Jalur HTTP: Jalur HTTP untuk gudang SQL Anda. Untuk mendapatkan jalur, buka
SQL di bar samping, pilih gudang SQL, buka tab Detail koneksiSQL Warehouses , dan salin nilai untuk jalur HTTP .
- Klik Buat koneksi.
- Pada halaman dasar-dasar Catalog, masukkan nama katalog di ruang kerja Azure Databricks lainnya yang bisa dipetakan ke objek katalog di metastore ini.
- (Opsional) Klik Uji koneksi untuk mengonfirmasi bahwa koneksi berfungsi.
- 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 Istimewa pada katalog. Klik Izinkan:
- 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 Privilege untuk diberikan kepada setiap prinsipal. Semua pengguna akun diberikan
BROWSEsecara default.- Pilih Pembaca Data dari menu drop-down untuk memberikan hak istimewa
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 hak istimewa
- Klik Berikan.
- Klik Berikutnya.
- Pada halaman Metadata, tentukan pasangan kunci-nilai tag. Untuk informasi selengkapnya, lihat Menerapkan tag pada objek securable di Katalog Unity.
- (Opsional) Tambahkan komentar.
- Klik Simpan.
SQL
Jalankan perintah berikut ini di buku catatan atau editor kueri Databricks SQL, ganti yang berikut ini:
-
<connection-name>: Nama yang mudah digunakan untuk koneksi yang Anda buat. -
<workspace-instance>: Instans ruang kerja target. Untuk mempelajari cara mendapatkan nama instans ruang kerja, lihat Dapatkan pengidentifikasi untuk objek ruang kerja. -
<sql-warehouse-path>: Jalur HTTP untuk gudang SQL Anda. Untuk mendapatkan jalur, bukaSQL di bar samping, pilih gudang SQL, buka tab Detail koneksiSQL Warehouses , dan salin nilai untuk jalur HTTP . -
<personal-access-token>: Token akses pribadi Azure Databricks yang memungkinkan akses ke ruang kerja target. Untuk mempelajari cara mendapatkan token, lihat Mengautentikasi dengan token akses pribadi Azure Databricks (warisan). Untuk koneksi, Databricks merekomendasikan agar Anda menggunakan token akses pribadi perwakilan layanan.
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken '<personal-access-token>'
);
Kami menyarankan agar Anda menggunakan Azure Databricks rahasia alih-alih string teks biasa untuk nilai sensitif seperti kredensial. Contohnya:
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken secret ('<secret-scope>','<secret-key-password>')
)
Untuk informasi tentang menyiapkan rahasia, lihat Manajemen rahasia.
Membuat katalog asing
Catatan
Jika Anda menggunakan UI untuk membuat koneksi ke sumber data, pembuatan katalog asing disertakan dan Anda dapat melewati langkah ini.
Katalog asing mencerminkan katalog di ruang kerja Databricks eksternal sehingga Anda dapat mengkueri dan mengelola akses ke data di katalog Databricks eksternal seolah-olah itu adalah katalog di workspsace Anda sendiri. Untuk membuat katalog asing, Anda menggunakan koneksi ke ruang kerja Databricks eksternal yang telah ditentukan.
Untuk membuat katalog asing, Anda bisa menggunakan Catalog Explorer atau perintah SQL CREATE FOREIGN CATALOG di buku catatan Azure Databricks atau editor kueri Databricks SQL. Anda juga dapat menggunakan Databricks REST API atau Databricks CLI untuk membuat katalog. Lihat perintah POST /api/2.1/unity-catalog/catalogs dan Unity Catalog.
Izin yang diperlukan:CREATE CATALOG izin pada metastore dan kepemilikan koneksi atau CREATE FOREIGN CATALOG hak istimewa pada koneksi.
Penjelajah Katalog
Di ruang kerja Azure Databricks Anda, klik
Katalog untuk membuka Catalog Explorer.
Di bagian atas panel Katalog, klik ikon
ikon Tambah dan pilih Tambah 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 notebook atau editor Databricks SQL. Item dalam tanda kurung bersifat opsional. Ganti nilai pengganti:
-
<catalog-name>: Nama untuk katalog asing yang Anda buat. -
<connection-name>: Objek koneksi yang menentukan sumber data, jalur, dan kredensial akses. -
<external-catalog-name>: Nama katalog di ruang kerja Databricks eksternal yang Anda cerminkan.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (catalog '<external-catalog-name>');
Pushdown yang didukung
Pushdown berikut didukung pada seluruh sistem komputasi.
- Filter
- Proyeksi
- Batas
- Fungsi: hanya ekspresi filter yang didukung (fungsi string, fungsi Matematika, fungsi Data, Time dan Timestamp, dan fungsi lain-lain, seperti Alias, Cast, SortOrder).
Pushdown berikut didukung pada Databricks Runtime 13.3 LTS ke atas dan komputasi gudang SQL:
- Agregat
- Operator Boolean berikut: =, <, <=, >, >=, <=>
- Fungsi matematika berikut (tidak didukung jika ANSI dinonaktifkan): +, -, *, %, /
- Operator lain-lain berikut: ^, |, ~
- Pengurutan, saat digunakan dengan batasan
Pushdown berikut tidak didukung:
- Gabungan
- Fungsi Windows
Pemetaan jenis data
Jenis data biasanya dapat dipetakan satu-ke-satu saat Anda menggunakan federasi Databricks-ke-Databricks. Namun, jenis data berikut dipetakan ke StringType:
| Dari | Untuk |
|---|---|
ArrayType |
StringType |
IntervalType |
StringType |
MapType |
StringType |
StructType |
StringType |