Apa itu Federasi Lakehouse

Penting

Fitur ini ada di Pratinjau Publik.

Artikel ini memperkenalkan Lakehouse Federation, platform federasi kueri yang memungkinkan Anda menggunakan Azure Databricks untuk menjalankan kueri terhadap beberapa sumber data eksternal. Ini juga menjelaskan cara menyiapkan koneksi Federasi Lakehouse dan membuat katalog asing di metastore Unity Catalog Anda.

Apa itu Federasi Lakehouse?

Lakehouse Federation adalah platform federasi kueri untuk Azure Databricks. Istilah federasi kueri menjelaskan kumpulan fitur yang memungkinkan pengguna dan sistem menjalankan kueri terhadap beberapa sumber data tanpa perlu memigrasikan semua data ke sistem terpadu.

Azure Databricks menggunakan Unity Catalog untuk mengelola federasi kueri. Anda mengonfigurasi koneksi baca-saja ke solusi database populer menggunakan driver yang disertakan di Gudang Pro SQL, Gudang SQL Tanpa Server, dan kluster Databricks Runtime. Tata kelola data dan alat silsilah data Unity Catalog memastikan bahwa akses data dikelola dan diaudit untuk semua kueri federasi yang dibuat oleh pengguna di ruang kerja Azure Databricks Anda.

Mengapa menggunakan Federasi Lakehouse?

Lakehouse menekankan penyimpanan data pusat untuk mengurangi redundansi dan isolasi data. Organisasi Anda mungkin memiliki banyak sistem data dalam produksi, dan Anda mungkin ingin mengkueri data dalam sistem yang terhubung karena sejumlah alasan:

  • Pelaporan ad hoc.
  • Bukti kerja konsep.
  • Fase eksplorasi alur atau laporan ETL baru.
  • Mendukung beban kerja selama migrasi inkremental.

Dalam setiap skenario ini, federasi kueri membuat Anda mendapatkan wawasan lebih cepat, karena Anda dapat mengkueri data di tempat dan menghindari pemrosesan ETL yang kompleks dan memakan waktu.

Federasi Lakehouse dimaksudkan untuk kasus penggunaan ketika:

  • Anda tidak ingin menyerap data ke Azure Databricks.
  • Anda ingin kueri Anda memanfaatkan komputasi dalam sistem database eksternal.
  • Anda menginginkan keunggulan antarmuka Dan tata kelola data Unity Catalog, termasuk kontrol akses menenangkan, silsilah data, dan pencarian.

Gambaran umum penyiapan Federasi Lakehouse

Untuk membuat himpunan data tersedia untuk kueri baca-saja menggunakan Federasi Lakehouse, Anda membuat hal berikut:

  • Koneksi, objek yang dapat diamankan di Katalog Unity yang menentukan jalur dan kredensial untuk mengakses sistem database eksternal.
  • Katalog asing, objek yang dapat diamankan di Unity Catalog yang mencerminkan database dalam sistem data eksternal, memungkinkan Anda melakukan kueri baca-saja pada sistem data tersebut di ruang kerja Azure Databricks Anda, mengelola akses menggunakan Unity Catalog.

Sumber data yang didukung

Federasi Lakehouse mendukung koneksi ke jenis database berikut:

Persyaratan koneksi

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 jenis Koneksi ion (penyedia database, seperti MySQL atau PostgreSQL).

  6. Masukkan properti koneksi (seperti informasi host, jalur, dan kredensial akses).

    Setiap jenis koneksi memerlukan informasi koneksi yang berbeda. Lihat artikel untuk jenis koneksi Anda, tercantum dalam daftar isi di sebelah kiri.

  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. Contoh ini untuk koneksi ke database PostgreSQL. Opsi berbeda menurut jenis koneksi. Lihat artikel untuk jenis koneksi Anda, tercantum dalam daftar isi di sebelah kiri.

CREATE CONNECTION <connection-name> TYPE postgresql
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 postgresql
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.

Untuk informasi tentang mengelola koneksi yang ada, lihat Mengelola koneksi untuk Federasi Lakehouse.

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, 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.

    Persyaratan berbeda tergantung pada sumber data:

    • MySQL menggunakan namespace dua lapisan dan oleh karena itu tidak memerlukan nama database.
    • Untuk koneksi ke katalog di ruang kerja Databricks lain, masukkan nama Databricks Catalog alih-alih nama database.
  6. Klik Buat.

Sql

  1. 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. Tidak diperlukan untuk MySQL, yang menggunakan namespace dua lapisan.
    • <external-catalog-name>: Databricks-to-Databricks saja: Nama katalog di ruang kerja Databricks eksternal yang Anda cerminkan. Lihat Membuat katalog asing.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (database '<database-name>');
    

Untuk informasi tentang mengelola dan bekerja dengan katalog asing, lihat Mengelola dan bekerja dengan katalog asing.

Federasi Lakehouse dan tampilan materialisasi

Databricks merekomendasikan pemuatan data eksternal menggunakan Federasi Lakehouse saat Anda membuat tampilan materialisasi. Lihat Menggunakan tampilan materialisasi di Databricks SQL.

Saat Anda menggunakan Federasi Lakehouse, pengguna dapat mereferensikan data federasi sebagai berikut:

CREATE MATERIALIZED VIEW xyz AS SELECT * FROM federated_catalog.federated_schema.federated_table;

Batasan

  • Kueri bersifat baca-saja.

  • Pembatasan koneksi ditentukan menggunakan batas kueri bersamaan Databricks SQL. Tidak ada batasan di seluruh gudang per koneksi. Lihat Antrean dan penskalaan otomatis untuk gudang SQL pro dan klasik.

  • Tabel dan skema dengan nama yang tidak valid di Katalog Unity tidak didukung dan diabaikan oleh Katalog Unity setelah pembuatan katalog asing. Lihat daftar aturan penamaan dan batasan dalam batasan Katalog Unity.

  • Nama tabel dan nama skema dikonversi ke huruf kecil di Katalog Unity. Pencarian juga harus menggunakan nama huruf kecil. Jika ada tabel atau skema dengan nama huruf kecil duplikat, hanya salah satu tabel atau skema yang diimpor ke katalog asing.

  • Untuk setiap tabel asing yang direferensikan, Azure Databricks menjadwalkan subkueri dalam sistem jarak jauh untuk mengembalikan subset data dari tabel tersebut lalu mengembalikan hasilnya ke satu tugas pelaksana Azure Databricks melalui satu aliran.

  • Mode akses pengguna tunggal hanya tersedia untuk pengguna yang memiliki koneksi.

  • Federasi Lakehouse tidak dapat menggabungkan tabel asing dengan pengidentifikasi peka huruf besar/kecil untuk koneksi Azure Synapse atau koneksi Redshift.