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 ruang kunci 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 yang ditentukan pengguna (UDT) dan jenis data tuple Cassandra tidak didukung.

Persyaratan pipeline

  • Akun AstraDB dengan token

Parameter template

Parameter yang diperlukan

  • astraToken : Nilai token atau ID resource secret. (Contoh: AstraCS:abcdefghij).
  • astraDatabaseId : ID unik database (UUID). (Contoh: cf7af129-d33a-498f-ad06-d97a6ee6eb7).
  • astraKeyspace : Nama ruang kunci Cassandra di dalam database Astra.
  • astraTable : Nama tabel di dalam database Cassandra. (Contoh: my_table).

Parameter opsional

  • astraQuery : Kueri yang akan digunakan untuk memfilter baris, bukan membaca seluruh tabel.
  • astraDatabaseRegion : Jika tidak disediakan, default akan dipilih, yang berguna dengan database multi-region.
  • minTokenRangesCount : Jumlah minimum pemisahan yang akan digunakan untuk mendistribusikan kueri.
  • outputTableSpec : Lokasi tabel BigQuery tempat output akan ditulis. Gunakan format <PROJECT_ID>:<DATASET_NAME>.<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 Nama tugas, masukkan nama tugas yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya adalah us-central1.

    Untuk mengetahui 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 nilai parameter Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal, 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 tugas 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: ruang kunci Cassandra
  • ASTRA_TABLE: tabel Cassandra

API

Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui 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 tugas 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: ruang kunci Cassandra
  • ASTRA_TABLE: tabel Cassandra

Langkah selanjutnya