Sumber batch BigQuery

Halaman ini memberikan 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 tambahan. Sebagai referensi, aplikasi 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

Di project Google Cloud , 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 di set data atau tabel BigQuery, bergantung pada kasus penggunaan Anda.

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

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

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

Mengonfigurasi plugin

  1. Buka antarmuka web Cloud Data Fusion dan klik Studio.
  2. Pastikan Data Pipeline - Batch dipilih (bukan Real-Time).
  3. Di menu Source, 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 Project ID, biarkan nilainya sebagai deteksi otomatis.
      2. Jika set data BigQuery berada di project lain, masukkan ID di kolom Dataset Project ID.
      3. Di kolom Service account type, pilih salah satu dari 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 koneksi tidak ada dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Tambahkan koneksi dan lihat langkah-langkah di tab Koneksi baru di halaman ini.

    3. Di kolom Reference name, masukkan nama yang akan digunakan untuk garis keturunan.

    4. Opsional: Jika set data sudah tersedia di instance, klik Browse dan 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 Tanggal mulai partisi, masukkan string tanggal mulai inklusif—misalnya, 2021-01-11.

    9. Opsional: Di kolom Tanggal akhir partisi, 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 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 Set data pembuatan tabel sementara, masukkan nama set data tempat tabel sementara dibuat.
    14. Opsional: Klik Validasi dan perbaiki error yang ditemukan.

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

Properti

Properti Makro diaktifkan Properti wajib Deskripsi
Label Tidak Ya Nama node di pipeline data Anda.
Menggunakan koneksi Tidak Tidak Jelajahi koneksi yang dapat digunakan kembali ke sumber. Untuk informasi selengkapnya tentang cara menambahkan, mengimpor, dan mengedit koneksi yang muncul saat Anda menjelajahi koneksi, lihat Mengelola koneksi.
Koneksi Ya Ya Jika Gunakan koneksi diaktifkan, nama koneksi yang dapat digunakan kembali yang Anda pilih akan muncul di kolom ini.
ID Project Ya Tidak Hanya digunakan jika Gunakan koneksi dinonaktifkan. ID unik secara global untuk project tempat tugas BigQuery berjalan.
Default-nya adalah auto-detect.
ID project set data Ya Tidak Hanya digunakan jika Gunakan koneksi dinonaktifkan. Jika set data berada di project yang berbeda dengan project tempat tugas BigQuery berjalan, nilai ini adalah ID unik secara 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 di project.
Jenis akun layanan Ya Tidak Pilih salah satu opsi berikut:
  • Jalur file: 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 kunci akun layanan yang digunakan untuk otorisasi. Jika tugas berjalan di cluster Dataproc, tetapkan nilai ke deteksi otomatis. Jika tugas berjalan pada jenis cluster lain, file tersebut harus ada di setiap node dalam cluster.
Default-nya 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 mengidentifikasi sumber ini secara unik untuk layanan lain, seperti metadata anotasi dan garis keturunan.
Dataset Ya Ya Set data tempat tabel berada. Set data terdapat dalam project tertentu. Set data adalah penampung tingkat teratas yang mengatur dan mengontrol akses ke tabel dan tampilan.
Tabel Ya Ya Tabel yang akan dibaca. Tabel berisi kumpulan data individual yang diatur dalam baris. Setiap catatan terdiri dari kolom (juga disebut kolom). Setiap tabel ditentukan oleh skema yang menjelaskan nama kolom, jenis data, dan informasi lainnya.
Tanggal mulai partisi Ya Tidak Tanggal mulai partisi inklusif, yang ditentukan 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, yang ditentukan sebagai yyyy-mm-dd. Jika tidak ada nilai yang diberikan, semua partisi mulai dari tanggal mulai partisi akan dibaca.
Filter Ya Tidak Kueri SQL yang memfilter kondisi yang diberikan. Misalnya, kueri ini menampilkan semua baris dari tabel Roster dengan kolom SchoolID yang memiliki nilai SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52;. Hal ini sama dengan klausa WHERE di BigQuery.
Nama bucket sementara Ya Tidak Bucket Cloud Storage untuk penyimpanan data sementara. Grup ini akan dibuat secara otomatis jika belum ada. Data sementara dihapus setelah dibaca. Jika nama tidak diberikan, bucket unik akan dibuat, lalu dihapus setelah operasi 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 mengetahui informasi selengkapnya, lihat CMEK.
Mengaktifkan tampilan kueri Ya Tidak Apakah akan mengizinkan tampilan Logis dan Terwujud BigQuery. Karena tampilan BigQuery tidak diaktifkan secara default, membuat kueri pada tampilan tersebut mungkin memiliki overhead performa.
Defaultnya adalah Tidak.
Project pembuatan tabel sementara Ya Tidak Hanya digunakan jika Aktifkan tampilan kueri diaktifkan. Nama project tempat tabel sementara akan dibuat. Secara default, project yang sama dengan project tempat tabel berada.
Set data pembuatan tabel sementara Ya Tidak Set data dalam project yang ditentukan tempat tabel sementara harus dibuat. Secara default menggunakan set data yang sama dengan tabel.
Skema output Ya Ya Skema tabel yang akan dibaca. Anda dapat mengambilnya dengan mengklik Dapatkan skema.

Pemetaan jenis 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