Konektor Hive-BigQuery

Konektor Hive-BigQuery open source memungkinkan beban kerja Apache Hive Anda membaca dan menulis data dari dan ke tabel BigQuery serta BigLake. Anda dapat menyimpan data di penyimpanan BigQuery atau dalam format data open source di Cloud Storage.

Konektor Hive-BigQuery mengimplementasikan Hive Storage Handler API untuk memungkinkan workload Hive berintegrasi dengan tabel BigQuery dan BigLake. Mesin eksekusi Hive menangani operasi komputasi, seperti penggabungan dan penggabungan, dan konektor mengelola interaksi dengan data yang disimpan di BigQuery atau dalam bucket Cloud Storage yang terhubung ke BigLake.

Diagram berikut mengilustrasikan cara konektor Hive-BigQuery menyesuaikan antara lapisan komputasi dan data.

Arsitektur konektor Hive-BigQuery

Kasus penggunaan

Berikut adalah beberapa cara konektor Hive-BigQuery dapat membantu Anda dalam skenario umum berbasis data:

  • Migrasi data. Anda berencana memindahkan data warehouse Hive ke BigQuery, lalu secara bertahap menerjemahkan kueri Hive ke dalam dialek BigQuery SQL. Migrasi akan memakan waktu yang cukup lama karena ukuran data warehouse dan banyaknya aplikasi yang terhubung. Anda juga perlu memastikan keberlanjutan selama operasi migrasi. Berikut adalah alur kerjanya:

    1. Anda memindahkan data ke BigQuery
    2. Dengan menggunakan konektor, Anda dapat mengakses dan menjalankan kueri Hive asli sekaligus menerjemahkan kueri Hive secara bertahap ke dialek SQL yang sesuai dengan ANSI BigQuery.
    3. Setelah menyelesaikan migrasi dan terjemahan, Anda menghentikan Hive.
  • Alur kerja Hive dan BigQuery. Anda berencana menggunakan Hive untuk beberapa tugas, dan BigQuery untuk workload yang mendapatkan manfaat dari fitur-fiturnya, seperti BigQuery BI Engine atau BigQuery ML. Anda menggunakan konektor untuk menggabungkan tabel Hive ke tabel BigQuery Anda.

  • Mengandalkan stack software (OSS) open source. Untuk menghindari ketergantungan pada vendor, Anda menggunakan stack OSS lengkap untuk data warehouse. Berikut ini paket data Anda:

    1. Anda memigrasikan data dalam format OSS aslinya, seperti Avro, Parquet, atau ORC, ke bucket Cloud Storage menggunakan koneksi BigLake.

    2. Anda akan terus menggunakan Hive untuk mengeksekusi dan memproses kueri dialek Hive SQL Anda.

    3. Anda menggunakan konektor sebagaimana diperlukan untuk terhubung ke BigQuery guna mendapatkan manfaat dari fitur berikut:

Fitur

Anda dapat menggunakan konektor Hive-BigQuery untuk bekerja dengan data BigQuery dan menyelesaikan tugas berikut:

  • Menjalankan kueri dengan mesin eksekusi MapReduce dan Tez.
  • Membuat dan menghapus tabel BigQuery dari Hive.
  • Gabungkan tabel BigQuery dan BigLake dengan tabel Hive.
  • Lakukan pembacaan cepat dari tabel BigQuery menggunakan aliran Storage Read API dan format Apache Arrow
  • Tulis data ke BigQuery menggunakan metode berikut:
    • Penulisan langsung menggunakan Storage Write API dalam mode tertunda BigQuery. Gunakan metode ini untuk beban kerja yang memerlukan latensi tulis rendah, seperti dasbor mendekati real-time dengan jendela waktu refresh yang singkat.
    • Penulisan tidak langsung dengan melakukan staging file Avro sementara ke Cloud Storage, lalu memuat file tersebut ke tabel tujuan menggunakan Load Job API. Metode ini lebih murah daripada metode langsung, karena tugas pemuatan BigQuery tidak dikenai biaya. Karena metode ini lebih lambat, dan paling efektif digunakan dalam beban kerja yang tidak mendesak
  • Mengakses tabel BigQuery yang dipartisi menurut waktu dan tabel yang dikelompokkan. Contoh berikut menentukan hubungan antara tabel Hive dan tabel yang telah dipartisi dan dikelompokkan di BigQuery.

    CREATE TABLE my_hive_table (int_val BIGINT, text STRING, ts TIMESTAMP)
    STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
    TBLPROPERTIES (
    'bq.table'='myproject.mydataset.mytable',
    'bq.time.partition.field'='ts',
    'bq.time.partition.type'='MONTH',
    'bq.clustered.fields'='int_val,text'
    );
    
  • Memangkas kolom untuk menghindari pengambilan kolom yang tidak diperlukan dari lapisan data.

  • Gunakan bentang bawah predikat untuk memfilter baris data terlebih dahulu di lapisan penyimpanan BigQuery. Teknik ini dapat meningkatkan performa kueri keseluruhan secara signifikan dengan mengurangi jumlah data yang melintasi jaringan.

  • Konversi jenis data Hive ke jenis data BigQuery secara otomatis.

  • Membaca tampilan dan snapshot tabel BigQuery.

  • Mengintegrasikan dengan Spark SQL.

  • Mengintegrasikan dengan Apache Pig dan HCatalog.

Mulai

Baca petunjuk untuk menginstal dan mengonfigurasi konektor Hive-BigQuery di cluster Hive.