Template AstraDB ke BigQuery

Template AstraDB ke BigQuery adalah pipeline batch yang membaca data 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 minimum pemisahan yang akan digunakan untuk mendistribusikan kueri.
  • outputTableSpec: Lokasi tabel BigQuery yang menjadi tujuan penulisan output. Gunakan format <PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME> Skema tabel harus cocok dengan objek input.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Membuat tugas dari 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 Jalankan tugas.

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 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: Google Cloud Project ID 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