Batasan dan pertimbangan

Mengintegrasikan Apache Spark dan Apache Hive dengan katalog runtime Lakehouse melalui endpoint katalog Apache Hive memungkinkan Anda berbagi metadata terpadu dan mengkueri tabel secara langsung di BigQuery tanpa mengelola Hive Metastore (HMS) yang dihosting sendiri.

Sebelum Anda memigrasikan atau membangun pipeline database open source di katalog runtime Lakehouse, tinjau batasan fungsional dan pertimbangan layanan dalam dokumen ini untuk menentukan apakah integrasi tersebut memenuhi persyaratan teknis Anda. Untuk mengetahui petunjuk penyiapan dan kueri, lihat Menyiapkan Spark dan Hive dengan katalog runtime Lakehouse.

Batasan katalog runtime Lakehouse

Bagian ini mencantumkan batasan penggunaan katalog runtime Lakehouse dengan berbagai layanan.

Batasan metastore

  • Managed Service untuk Apache Spark hanya mendukung tugas PySpark dengan katalog runtime Lakehouse.
  • Dataproc API tidak mendukung penetapan properti katalog runtime Lakehouse di kolom properties.
  • Anda tidak dapat membuat cluster Managed Service untuk Apache Spark yang menggunakan Kerberos, karena katalog runtime Lakehouse tidak mendukung token delegasi atau API kunci utama.
  • Database dan tabel dapat menggunakan location_uri Cloud Storage yang berbeda dari katalog Hive-nya, asalkan bucket Cloud Storage berada di region yang sama dengan katalog Hive.
  • Katalog Hive tidak boleh berisi namespace dan tabel Iceberg. Untuk membuat dan menggunakan namespace serta tabel Iceberg, gunakan katalog runtime Lakehouse.
  • Penghapusan berjenjang tidak didukung untuk database Hive dan katalog Hive.
  • Dukungan Trino tidak tersedia.

Batasan tabel

  • Penggantian nama tabel tidak didukung.
  • Penggantian nama partisi tidak didukung.
  • Menghapus tabel atau database tidak akan menghapus file terkait dari Cloud Storage.
  • Penelusuran yang tidak peka huruf besar/kecil tidak didukung.
  • Clustering dan bucketing tidak didukung.
  • Hanya tampilan virtual yang didukung.
  • Tabel Delta Lake didukung melalui Apache Spark (baca dan tulis) dan BigQuery (hanya baca). Klien Hive (seperti Hive CLI) tidak mendukung tabel Delta Lake. Semua batasan tabel eksternal Delta Lake BigQuery dan batasan tabel BigLake berlaku. Untuk mengetahui detail selengkapnya dan batasan spesifik, lihat Menyiapkan Spark dengan tabel Delta.

Ukuran batch partisi

Katalog runtime Lakehouse mendukung penyimpanan dan pengambilan informasi partisi untuk digunakan dalam pemangkasan partisi. BigQuery dioptimalkan untuk operasi baca daripada tulis, sehingga menghasilkan performa kueri yang lebih cepat melalui pemangkasan partisi.

Untuk mengoptimalkan performa penyerapan partisi, ukuran partisi batch dibatasi hingga 900.

Tetapkan konfigurasi berikut untuk properti Hive dan Spark yang menentukan ukuran batch operasi partisi:

  • SET hive.msck.repair.batch.size = 900;
  • SET spark.sql.addPartitionInBatch.size = 900;

Batasan BigQuery

  • Secara default, BigQuery tidak mendukung jenis data ARRAY<ARRAY<>> atau ARRAY<MAP<>>. Dukungan untuk MAP harus ditambahkan ke daftar yang diizinkan. Hubungi biglake-help@google.com jika workload Anda menggunakan MAP secara ekstensif.
  • Jenis kunci MAP hanya mendukung jenis data primitif. Anda tidak dapat menggunakan ARRAY, STRUCT, atau MAP sebagai jenis kunci.
  • BigQuery hanya dapat mengkueri data dari Cloud Storage. Batasan berikut berlaku:

    • URI lokasi tabel tidak boleh menyertakan karakter pengganti (*).
    • URI lokasi tabel harus berupa direktori.

Batasan replikasi lintas region dan disaster recovery

Katalog runtime Lakehouse menyediakan replikasi lintas region dan disaster recovery untuk meningkatkan ketersediaan dan ketahanan katalog Anda.

Saat Anda menggunakan katalog runtime Lakehouse dengan katalog Hive, batasan berikut berlaku:

  • Saat membuat katalog Hive, Anda harus menetapkan primary_location-nya agar sesuai dengan region bucket Cloud Storage Anda. Katalog runtime Lakehouse kemudian secara otomatis menyalin metadata ke region sekunder berdasarkan konfigurasi dual-region atau multi-region bucket Anda. Salinan metadata sekunder ini bersifat hanya baca hingga Anda mempromosikannya ke primer menggunakan operasi failover.
  • Selama failover, stempel waktu replication_time hanya melacak replikasi metadata katalog, bukan apakah file data Cloud Storage yang mendasarinya telah selesai direplikasi ke region sekunder. Redundansi data bergantung pada setelan dual-region atau multi-region bucket Anda, yang terpisah dari replikasi metadata katalog runtime Lakehouse.

Pertimbangan

Katalog runtime Lakehouse mendukung subset antarmuka Hive Metastore. Desain ini memprioritaskan kompatibilitas dengan ExternalCatalog Spark, yang tidak memerlukan kompatibilitas penuh dengan Hive Metastore.

Pemetaan resource

Tabel berikut memetakan resource Hive Metastore ke resource katalog runtime Lakehouse dan izin Identity and Access Management (IAM) yang diperlukan.

Resource Hive Metastore Resource katalog runtime Lakehouse Izin IAM
Katalog Katalog biglake.catalogs.*
Database Database biglake.namespaces.*
Tabel Tabel biglake.tables.*

Tata kelola

Hive Metastore (HMS) menyediakan tata kelola di tingkat tabel, kolom, dan partisi. Katalog runtime Lakehouse menyediakan izin IAM tingkat tabel dan tingkat partisi. Tata kelola tingkat kolom tidak didukung.

Batasan penyimpanan

  • Semua batasan tabel eksternal BigQuery berlaku.

Batasan partisi

  • Pelacakan statistik tingkat kolom di tingkat partisi tidak didukung.
  • API BatchCreatePartitions, BatchDeletePartitions, dan BatchUpdatePartitions membatasi panggilan hingga 900 partisi per batch.

Langkah berikutnya