Bagikan melalui


Bekerja dengan tabel asing

Tabel asing, terkadang disebut sebagai tabel gabungan , adalah tabel yang terdaftar menggunakan Unity Catalog sebagai bagian dari katalog asing. Tabel asing berisi data dan metadata yang dikelola oleh sistem eksternal, dengan Unity Catalog menambahkan tata kelola data untuk mengkueri tabel ini.

Azure Databricks mendukung metode berikut untuk mendaftarkan tabel asing:

  • Federasi kueri menggunakan koneksi JDBC yang aman untuk bergabung ke sistem data eksternal seperti PostgreSQL dan MySQL.
  • Federasi katalog menghubungkan katalog eksternal, seperti Katalog Hive Metastore atau Snowflake Horizon, untuk mengkueri data langsung di penyimpanan file.

Important

Untuk kompatibilitas ke belakang dengan beban kerja warisan Apache Spark dan Azure Databricks, tabel asing dalam metastore Hive gabungan mengembalikan metadata dari metastore Hive, termasuk apakah tabel tersebut adalah tabel terkelola Hive atau tabel eksternal Hive.

Mengapa menggunakan meja asing?

Tabel asing memberikan fleksibilitas saat mengintegrasikan Azure Databricks dengan sistem data yang ada atau bermigrasi dari sistem warisan.

Banyak tabel asing berfungsi sebagai solusi sementara untuk akses langsung ke data yang tidak dikelola oleh Azure Databricks, karena mereka memberikan solusi cepat tanpa memerlukan migrasi data atau pemfaktoran ulang kode untuk alur kerja ETL upstream. Databricks merekomendasikan migrasi himpunan data yang mendorong beban kerja produksi atau sering dikueri ke tabel terkelola Unity Catalog, karena tabel terkelola memberikan performa terbaik dan memiliki banyak pengoptimalan bawaan. Lihat Mengonversi tabel asing ke tabel Unity Catalog terkelola.

Federasi kueri menyediakan solusi gratis untuk memuat data dari sistem data eksternal yang tidak didukung oleh Lakeflow Connect. Databricks merekomendasikan penggunaan tampilan materialisasi untuk mereplikasi tabel asing ke Unity Catalog. Lihat Memuat data dengan tampilan termaterialisasi dari tabel asing.

Membuat atau menulis ke tabel asing

Jika Anda memiliki hak istimewa yang memadai dan ruang kerja Anda dikonfigurasi dengan metastore Apache Hive gabungan internal, Anda dapat membuat atau menulis ke tabel asing yang didukung oleh metastore Apache Hive gabungan internal tersebut. Metastore Apache Hive gabungan eksternal dan semua tabel asing yang diakses melalui Federasi Lakehouse bersifat baca-saja.

Meskipun tabel asing bersifat baca-saja, bidang Diperbarui oleh memperlihatkan pengguna yang memicu penyegaran metadata terbaru. Azure Databricks secara otomatis menyegarkan metadata tabel asing saat melakukan kueri, ketika mendeteksi bahwa metadata tersebut usang. Akibatnya, bidang Diperbarui menurut menampilkan siapa yang menjalankan kueri, meskipun pengguna tersebut tidak mengubah data yang mendasar current_user .

Azure Databricks tidak mengelola metadata, data, atau semantik untuk menulis ke tabel asing. Tabel asing mungkin didukung oleh format yang mematuhi ACID seperti Delta Lake atau Apache Iceberg, tetapi tabel asing tidak memberikan jaminan transaksional tabel terkelola Unity Catalog.

Sebagian besar pengoptimalan Azure Databricks untuk kinerja kueri, peningkatan kecepatan penulisan, penghematan data, dan kueri yang hanya metadata memerlukan Katalog Unity. Databricks merekomendasikan perbandingan performa kueri baca dan tulis antara tabel asing dan tabel terkelola Unity Catalog menggunakan versi Databricks Runtime terbaru untuk mengevaluasi latensi dan perbedaan biaya. Lihat Tabel terkelola Unity Catalog di Azure Databricks untuk Delta Lake dan Apache Iceberg.