Template AstraDB ke BigQuery

Template AstraDB ke BigQuery adalah pipeline batch yang membaca data dari AstraDB dan menulisnya ke BigQuery.

Jika tabel tujuan tidak ada di BigQuery, pipeline akan membuat tabel dengan nilai berikut:

  • Dataset ID, yang diwarisi dari keyspace Cassandra.
  • Table ID, yang diwarisi dari tabel Cassandra.

Skema tabel tujuan disimpulkan dari tabel Cassandra sumber.

  • List dan Set dipetakan ke kolom REPEATED BigQuery.
  • Map dipetakan ke kolom RECORD BigQuery.
  • Semua jenis lainnya dipetakan ke kolom BigQuery dengan jenis yang sesuai.
  • Jenis data tuple dan jenis yang ditentukan pengguna Cassandra tidak didukung.

Persyaratan pipeline

  • Akun AstraDB dengan token

Parameter template

Parameter Deskripsi
astraToken Nilai token atau ID resource rahasia. Misalnya: AstraCS:abcdefghij.
astraDatabaseId ID unik database (uuid). Misalnya: cf7af129-d33a-498f-ad06-d97a6ee6eb7.
astraKeyspace Nama keyspace Cassandra dalam database Astra.
astraTable Nama tabel dalam database Cassandra. Misalnya: my_table.
astraQuery Opsional: Buat kueri untuk memfilter baris, bukan membaca seluruh tabel.
astraDatabaseRegion Opsional: Jika tidak disediakan, setelan default akan dipilih, yang berguna untuk database multi-region.
minTokenRangesCount Opsional: Jumlah bagian minimal untuk mendistribusikan kueri.
outputTableSpec Opsional: Lokasi tabel BigQuery yang akan menjadi tujuan penulisan output. Tabel harus dalam format <project>:<dataset>.<table_name>. Skema tabel harus cocok dengan objek input.

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Job name, masukkan nama pekerjaan yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region default-nya adalah us-central1.

    Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the AstraDB to BigQuery template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal Anda, jalankan template:

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/AstraDB_To_BigQuery \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       astraToken=ASTRA_TOKEN,\
       astraDatabaseId=ASTRA_DATABASE_ID,\
       astraKeyspace=ASTRA_KEYSPACE,\
       astraTable=ASTRA_TABLE,\

Ganti kode berikut:

  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • ASTRA_TOKEN: token Astra
  • ASTRA_DATABASE_ID: ID database
  • ASTRA_KEYSPACE: keyspace Cassandra
  • ASTRA_TABLE: tabel Cassandra

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "astraToken": "ASTRA_TOKEN",
       "astraDatabaseId": "ASTRA_DATABASE_ID",
       "astraKeyspace": "ASTRA_KEYSPACE",
       "astraTable": "ASTRA_TABLE",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/AstraDB_To_BigQuery",
     "environment": { "maxWorkers": "10" }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • ASTRA_TOKEN: token Astra
  • ASTRA_DATABASE_ID: ID database
  • ASTRA_KEYSPACE: keyspace Cassandra
  • ASTRA_TABLE: tabel Cassandra

Langkah selanjutnya