Sumber batch BigQuery

Halaman ini berisi panduan tentang cara mengonfigurasi plugin sumber batch BigQuery di Cloud Data Fusion.

Plugin sumber BigQuery memungkinkan Anda menghubungkan dan memuat data dari tabel BigQuery. Data dari tabel BigQuery diekspor ke lokasi sementara di Cloud Storage, lalu dibaca ke dalam pipeline dari sana.

Sebelum memulai

Cloud Data Fusion biasanya memiliki dua akun layanan:

Sebelum menggunakan plugin sumber batch BigQuery, berikan peran atau izin berikut ke setiap akun layanan.

Cloud Data Fusion API Service Agent

Akun layanan ini sudah memiliki semua izin yang diperlukan dan Anda tidak perlu menambahkan izin lain. Sebagai referensi, kode ini memiliki izin berikut:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

Jika Anda menggunakan akun layanan namespace selain akun layanan waktu desain default, tambahkan izin dari daftar sebelumnya ke akun tersebut.

Akun Layanan Compute Engine

Dalam project Google Cloud Anda, berikan peran atau izin IAM berikut ke Akun Layanan Compute Engine:

  • BigQuery Job User (roles/bigquery.jobUser). Peran bawaan ini berisi izin bigquery.jobs.create yang diperlukan.
  • BigQuery Data Editor (roles/bigquery.dataEditor). Peran bawaan ini berisi izin yang diperlukan berikut:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

Peran dan izin ini juga dapat ditetapkan pada set data atau tabel BigQuery, bergantung pada kasus penggunaan Anda.

  • Storage Legacy Bucket Writer (roles/storage.legacyBucketWriter). Peran yang telah ditentukan ini berisi izin yang diperlukan berikut:

    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

Peran ini dan izin ini juga dapat ditetapkan di bucket Cloud Storage, bergantung pada kasus penggunaan Anda.

Mengonfigurasi plugin

  1. Buka antarmuka web Cloud Data Fusion, lalu klik Studio.
  2. Pastikan Data Pipeline - Batch dipilih (bukan Realtime).
  3. Di menu Sumber, klik BigQuery. Node BigQuery akan muncul di pipeline Anda.
  4. Untuk mengonfigurasi sumber, buka node BigQuery, lalu klik Properties.
  5. Masukkan properti berikut. Untuk mengetahui daftar lengkapnya, lihat Properti.

    1. Masukkan Label untuk node BigQuery—misalnya, BigQuery tables.
    2. Masukkan detail koneksi. Anda dapat menyiapkan koneksi baru satu kali, atau koneksi yang sudah ada dan dapat digunakan kembali.

      Koneksi baru

      Untuk menambahkan koneksi satu kali ke BigQuery, ikuti langkah-langkah berikut:

      1. Di kolom ID project, biarkan nilai sebagai deteksi otomatis.
      2. Jika set data BigQuery berada di project yang berbeda, masukkan ID di kolom Dataset Project ID.
      3. Di kolom Service account type, pilih salah satu opsi berikut dan masukkan konten di kolom berikutnya:

        • Jalur file
        • JSON

      Koneksi yang dapat digunakan kembali

      Untuk menggunakan kembali koneksi yang ada, ikuti langkah-langkah berikut:

      1. Aktifkan Gunakan koneksi.
      2. Klik Jelajahi koneksi.
      3. Klik nama koneksi—misalnya, BigQuery Default.

      4. Opsional: Jika tidak ada koneksi dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Add connection, lalu lihat langkah-langkah di tab New connection pada halaman ini.

    3. Di kolom Nama referensi, masukkan nama yang akan digunakan untuk silsilah.

    4. Opsional: Jika set data sudah tersedia di instance Anda, klik Browse, lalu pilih data yang akan dibaca.

    5. Di kolom Dataset, masukkan nama set data yang berisi tabel.

    6. Di kolom Tabel, masukkan nama tabel.

    7. Untuk menguji konektivitas, klik Dapatkan skema.

    8. Opsional: Di kolom Partition start date, masukkan string tanggal mulai inklusif—misalnya, 2021-01-11.

    9. Opsional: Di kolom Partition end date, masukkan string tanggal akhir inklusif—misalnya, 2024-01-11.

    10. Opsional: Di kolom Filter, masukkan klausa WHERE BigQuery.

    11. Opsional: Di kolom Temporary bucket name, masukkan nama untuk bucket Cloud Storage.

    12. Opsional: Di kolom Encryption Key Name, masukkan nama kunci enkripsi Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Mendapatkan nama resource untuk kunci.

    13. Opsional: Aktifkan Aktifkan tampilan kueri. Jika Anda mengaktifkannya, lakukan hal berikut:

      • Di kolom Temporary table creation project, masukkan nama project tempat tabel sementara dibuat.
      • Di kolom Temporary table creation set data, masukkan nama set data tempat tabel sementara dibuat.
    14. Opsional: Klik Validasi dan atasi error yang ditemukan.

    15. Klik Tutup. Properti disimpan dan Anda dapat terus membangun pipeline data di antarmuka web Cloud Data Fusion.

Properti

Properti Makro diaktifkan Properti wajib Deskripsi
Label Tidak Ya Nama node di pipeline data Anda.
Gunakan koneksi Tidak Tidak Cari koneksi yang dapat digunakan kembali ke sumber tersebut. Untuk mengetahui informasi selengkapnya cara menambahkan, mengimpor, dan mengedit koneksi yang muncul saat Anda menjelajahi koneksi, lihat Mengelola koneksi.
Koneksi Ya Ya Jika Use connection diaktifkan, nama koneksi yang dapat digunakan kembali yang Anda pilih akan muncul di kolom ini.
ID Project Ya Tidak Hanya digunakan saat Gunakan koneksi dinonaktifkan. ID unik global untuk project tempat tugas BigQuery berjalan.
Nilai defaultnya adalah auto-detect.
ID project set data Ya Tidak Hanya digunakan saat Gunakan koneksi dinonaktifkan. Jika set data berada dalam project yang berbeda dengan tempat tugas BigQuery dijalankan, nilai ini adalah ID unik global untuk project dengan set data BigQuery. Jika tidak ada nilai yang diberikan, kolom akan ditetapkan secara default ke nilai Project ID. Peran BigQuery Data Viewer harus diberikan ke akun layanan yang ditentukan untuk membaca data BigQuery pada project.
Jenis akun layanan Ya Tidak Pilih salah satu opsi berikut:
  • File path: jalur tempat akun layanan berada.
  • JSON: Konten JSON akun layanan.
Service account file path Ya Tidak Hanya digunakan jika nilai jenis akun Layanan adalah Jalur file. Jalur di sistem file lokal dari kunci akun layanan yang digunakan untuk otorisasi. Jika tugas berjalan di cluster Dataproc, tetapkan nilainya ke deteksi otomatis. Jika tugas dijalankan pada jenis cluster lain, file harus ada di setiap node dalam cluster.
Nilai defaultnya adalah auto-detect.
JSON akun layanan Ya Tidak Hanya digunakan jika nilai jenis akun Layanan adalah JSON. Konten file JSON akun layanan.
Nama referensi Tidak Ya Nama yang secara unik mengidentifikasi sumber ini untuk layanan lain, seperti silsilah dan metadata anotasi.
Dataset Ya Ya {i>Dataset<i} yang berada di tabel tersebut. Set data terdapat di dalam project tertentu. Set data adalah penampung tingkat atas yang mengatur dan mengontrol akses ke tabel dan tampilan.
Tabel Ya Ya Tabel untuk dibaca. Tabel berisi record individual yang diatur dalam baris. Setiap catatan terdiri dari kolom (juga disebut {i>field<i}). Setiap tabel ditentukan oleh skema yang menjelaskan nama kolom, jenis data, dan informasi lainnya.
Tanggal mulai partisi Ya Tidak Tanggal mulai partisi inklusif, ditetapkan sebagai yyyy-mm-dd. Jika tidak ada nilai yang diberikan, semua partisi hingga tanggal akhir partisi akan dibaca.
Tanggal akhir partisi Ya Tidak Tanggal akhir partisi eksklusif, ditentukan sebagai yyyy-mm-dd. Jika tidak ada nilai yang diberikan, semua partisi dari tanggal mulai partisi akan dibaca.
Filter Ya Tidak Kueri SQL yang memfilter kondisi tertentu. Misalnya, kueri ini menampilkan semua baris dari tabel Roster yang kolom SchoolID-nya memiliki nilai SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52;. Ini sama dengan klausa WHERE di BigQuery.
Nama bucket sementara Ya Tidak Bucket Cloud Storage untuk penyimpanan data sementara. Class ini akan otomatis dibuat jika tidak ada. Data sementara akan dihapus setelah dibaca. Jika nama tidak diberikan, bucket unik akan dibuat, lalu dihapus setelah proses selesai.
Nama kunci enkripsi Ya Tidak Kunci yang mengenkripsi data yang ditulis ke bucket apa pun yang dibuat oleh plugin. Jika bucket ada, nilai ini akan diabaikan. Untuk informasi selengkapnya, lihat CMEK.
Mengaktifkan tampilan kueri Ya Tidak Apakah akan mengizinkan tampilan Logis dan Terwujud BigQuery. Karena tampilan BigQuery tidak diaktifkan secara default, kuerinya mungkin akan menimbulkan overhead performa.
Default-nya adalah Tidak.
Project pembuatan tabel sementara Ya Tidak Hanya digunakan saat Aktifkan tampilan kueri diaktifkan. Nama project tempat tabel sementara harus dibuat. Default-nya adalah project yang sama dengan tempat tabel berada.
Set data pembuatan tabel sementara Ya Tidak Set data dalam project yang ditentukan tempat tabel sementara harus dibuat. Default-nya adalah set data yang sama dengan tempat tabel berada.
Skema output Ya Ya Skema tabel yang akan dibaca. Anda dapat mengambilnya dengan mengklik Get schema.

Pemetaan tipe data

Tabel berikut adalah daftar jenis data BigQuery dengan jenis CDAP yang sesuai.

Jenis data BigQuery Jenis data skema CDAP
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING string, datetime (format ISO 8601)
STRUCT record
TIME time (mikrodetik)
TIMESTAMP timestamp (mikrodetik)
JSON unsupported

Langkah selanjutnya