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, izin 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 Anda, berikan peran atau izin IAM berikut kepada 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 bawaan ini berisi izin wajib 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 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 Project ID, biarkan nilai sebagai deteksi otomatis.
      2. Jika set data BigQuery berada di project lain, masukkan ID di kolom Project ID Set Data.
      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 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 Nama referensi, masukkan nama yang akan digunakan untuk silsilah.

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

    5. Di kolom Set data, 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 mengetahui informasi selengkapnya, lihat Mendapatkan nama resource untuk kunci.

    13. Opsional: Aktifkan Aktifkan kueri tampilan. 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 atasi error yang ditemukan.

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

Properti

Properti Makro diaktifkan Properti wajib Deskripsi
Label Tidak Ya Nama node dalam pipeline data Anda.
Menggunakan koneksi Tidak Tidak Jelajahi koneksi yang dapat digunakan kembali ke sumber. Untuk mengetahui 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.
Project ID Ya Tidak Hanya digunakan saat Gunakan koneksi dinonaktifkan. ID unik secara global untuk project tempat tugas BigQuery berjalan.
Defaultnya adalah auto-detect.
ID project set data Ya Tidak Hanya digunakan saat 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 kepada 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 pada sistem file lokal kunci akun layanan yang digunakan untuk otorisasi. Jika tugas berjalan di cluster Managed Service for Apache Spark, tetapkan nilai ke deteksi otomatis. Jika tugas berjalan di jenis cluster lain, file harus ada di setiap node dalam cluster.
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 mengidentifikasi sumber ini secara unik untuk layanan lain, seperti asal-usul dan anotasi metadata.
Dataset Ya Ya Set data tempat tabel berada. Set data dimuat dalam project tertentu. Set data adalah container 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, 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, 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;. Hal ini sama dengan klausa WHERE di BigQuery.
Nama bucket sementara Ya Tidak Bucket Cloud Storage untuk penyimpanan data sementara. Profil akan dibuat secara otomatis jika belum ada. Data sementara akan dihapus setelah dibaca. Jika nama tidak diberikan, bucket unik akan dibuat dan dihapus setelah run 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 kueri tampilan Ya Tidak Apakah akan mengizinkan tampilan Logis dan Terwujud BigQuery. Karena tampilan BigQuery tidak diaktifkan secara default, membuat kueri pada tampilan tersebut dapat menimbulkan overhead performa.
Default-nya adalah Tidak.
Project pembuatan tabel sementara Ya Tidak Hanya digunakan jika Aktifkan kueri tampilan diaktifkan. Nama project tempat tabel sementara harus 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, 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 berikutnya