Template AstraDB ke BigQuery

Template AstraDB ke BigQuery adalah pipeline batch yang membaca rekaman dari AstraDB dan menuliskannya 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 (UDT) Cassandra tidak didukung.

Persyaratan pipeline

  • Akun AstraDB dengan token

Parameter template

Parameter yang diperlukan

  • astraToken: Nilai token atau ID resource rahasia. Contoh, AstraCS:abcdefghij.
  • astraDatabaseId: ID unik (UUID) database. Contoh, cf7af129-d33a-498f-ad06-d97a6ee6eb7.
  • astraKeyspace: Nama keyspace 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 pemisahan minimum yang akan digunakan untuk mendistribusikan kueri.
  • outputTableSpec: Lokasi tabel BigQuery untuk menulis output. Gunakan format <PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME> Skema tabel harus cocok dengan objek input.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Create job from template.
  2. Buka Membuat 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 default-nya adalah us-central1.

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

  5. Dari menu drop-down Template Dataflow, 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 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 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: keyspace Cassandra
  • ASTRA_TABLE: tabel Cassandra

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. 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 Google Cloud project 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: keyspace Cassandra
  • ASTRA_TABLE: tabel Cassandra

Langkah berikutnya