Menggunakan antarmuka command line Dataflow

Saat Anda menjalankan pipeline menggunakan layanan yang dikelola Dataflow, Anda bisa mendapatkan informasi tentang tugas Dataflow menggunakan antarmuka command line Dataflow. Antarmuka command line Dataflow adalah bagian dari alat command line di Google Cloud CLI.

Jika Anda lebih suka melihat dan berinteraksi dengan tugas Dataflow menggunakan Konsol Google Cloud, gunakan Antarmuka pemantauan Dataflow.

Menginstal komponen command line Dataflow

Untuk menggunakan antarmuka command line Dataflow dari terminal lokal, instal dan konfigurasikan Google Cloud CLI.

Untuk Cloud Shell, antarmuka command line Dataflow tersedia secara otomatis.

Menjalankan perintah

Anda berinteraksi dengan antarmuka command line Dataflow dengan menjalankan perintah yang tersedia. Untuk melihat daftar perintah Dataflow yang tersedia, ketik perintah berikut ke dalam shell atau terminal Anda:

  gcloud dataflow --help

Seperti yang terlihat dalam output, perintah Dataflow memiliki empat grup berikut: flex-template, jobs, snapshots, dan sql.

Perintah Template Flex

Grup sub-perintah flex-template memungkinkan Anda menggunakan Template Dataflow Flex. Operasi berikut didukung:

  • build: Membuat file Template Flex dari parameter yang ditentukan.
  • run: Menjalankan tugas dari jalur yang ditentukan.

Untuk menjalankan template, Anda harus membuat file spesifikasi template yang disimpan di bucket Cloud Storage. File spesifikasi template berisi semua informasi yang diperlukan untuk menjalankan tugas, seperti informasi SDK dan metadata. Selain itu, file metadata.json berisi informasi tentang template seperti nama, deskripsi, dan parameter input. Setelah membuat file spesifikasi template, Anda dapat membangun Template Flex dengan menggunakan Java atau Python.

Untuk mengetahui informasi tentang cara membuat dan menjalankan Template Flex menggunakan Google Cloud CLI, lihat tutorial Membuat dan menjalankan Template Flex.

Perintah tugas

Grup sub-perintah jobs memungkinkan Anda bekerja dengan tugas Dataflow dalam project. Operasi berikut didukung:

  • cancel: Membatalkan semua tugas yang cocok dengan argumen command line.
  • describe: Menghasilkan objek Job yang dihasilkan dari Get API.
  • drain: Mengosongkan semua tugas yang cocok dengan argumen command line.
  • list: Mencantumkan semua tugas di project tertentu, yang secara opsional difilter berdasarkan region.
  • run: Menjalankan tugas dari jalur yang ditentukan.
  • show: Menampilkan deskripsi singkat dari pekerjaan tertentu.

Untuk mendapatkan daftar semua tugas Dataflow dalam project Anda, jalankan perintah berikut di shell atau terminal Anda :

gcloud dataflow jobs list

Perintah ini akan menampilkan daftar tugas Anda saat ini. Berikut adalah contoh output:

  ID                                        NAME                                    TYPE   CREATION_TIME        STATE   REGION
  2015-06-03_16_39_22-4020553808241078833   wordcount-janedoe-0603233849            Batch  2015-06-03 16:39:22  Done    us-central1
  2015-06-03_16_38_28-4363652261786938862   wordcount-johndoe-0603233820            Batch  2015-06-03 16:38:28  Done    us-central1
  2015-05-21_16_24_11-17823098268333533078  bigquerytornadoes-johndoe-0521232402    Batch  2015-05-21 16:24:11  Done    europe-west1
  2015-05-21_13_38_06-16409850040969261121  bigquerytornadoes-johndoe-0521203801    Batch  2015-05-21 13:38:06  Done    us-central1
  2015-05-21_13_17_18-18349574013243942260  bigquerytornadoes-johndoe-0521201710    Batch  2015-05-21 13:17:18  Done    europe-west1
  2015-05-21_12_49_37-9791290545307959963   wordcount-johndoe-0521194928            Batch  2015-05-21 12:49:37  Done    us-central1
  2015-05-20_15_54_51-15905022415025455887  wordcount-johndoe-0520225444            Batch  2015-05-20 15:54:51  Failed  us-central1
  2015-05-20_15_47_02-14774624590029708464  wordcount-johndoe-0520224637            Batch  2015-05-20 15:47:02  Done    us-central1

Dengan menggunakan tugas ID yang ditampilkan untuk setiap tugas, Anda dapat menjalankan perintah describe untuk menampilkan informasi selengkapnya tentang sebuah tugas.

gcloud dataflow jobs describe JOB_ID

Ganti JOB_ID dengan tugas ID dari salah satu tugas Dataflow dari project Anda.

Misalnya, jika Anda menjalankan perintah untuk ID tugas 2015-02-09_11_39_40-15635991037808002875, berikut adalah contoh output:

createTime: '2015-02-09T19:39:41.140Z'
currentState: JOB_STATE_DONE
currentStateTime: '2015-02-09T19:56:39.510Z'
id: 2015-02-09_11_39_40-15635991037808002875
name: tfidf-bchambers-0209193926
projectId: google.com:clouddfe
type: JOB_TYPE_BATCH

Untuk memformat hasil menjadi JSON, jalankan perintah dengan opsi --format=json:

gcloud --format=json dataflow jobs describe JOB_ID

Ganti JOB_ID dengan tugas ID dari salah satu tugas Dataflow dari project Anda.

Contoh output berikut diformat sebagai JSON:

{
  "createTime": "2015-02-09T19:39:41.140Z",
  "currentState": "JOB_STATE_DONE",
  "currentStateTime": "2015-02-09T19:56:39.510Z",
  "id": "2015-02-09_11_39_40-15635991037808002875",
  "name": "tfidf-bchambers-0209193926",
  "projectId": "google.com:clouddfe",
  "type": "JOB_TYPE_BATCH"
}

Perintah snapshot

Grup sub-perintah snapshots memungkinkan Anda bekerja dengan snapshot Dataflow. Operasi berikut didukung:

  • create: Membuat snapshot untuk tugas Dataflow.
  • delete: Menghapus snapshot Dataflow.
  • describe: Menjelaskan snapshot Dataflow.
  • list: Mencantumkan semua snapshot Dataflow dalam sebuah project di region tertentu, yang secara opsional difilter menurut ID tugas.

Untuk mengetahui informasi selengkapnya tentang penggunaan snapshot di Dataflow, lihat Menggunakan snapshot Dataflow.

Perintah SQL

Grup sub-perintah sql memungkinkan Anda bekerja dengan Dataflow SQL. Perintah gcloud Dataflow sql query menerima dan menjalankan kueri SQL yang ditentukan pengguna di Dataflow.

Misalnya, untuk menjalankan kueri SQL sederhana pada tugas Dataflow yang membaca dari set data BigQuery dan menulis ke set data BigQuery lainnya, jalankan perintah berikut di shell atau terminal:

gcloud dataflow sql query 'SELECT word FROM
bigquery.table.PROJECT_ID.input_dataset.input_table
where count > 3'
    --job-name=JOB_NAME \
    --region=us-west1 \
    --bigquery-dataset=OUTPUT_DATASET \
    --bigquery-table=OUTPUT_TABLE

Ganti kode berikut:

  • PROJECT_ID: nama unik secara global untuk project Anda
  • JOB_NAME: nama untuk tugas Dataflow Anda
  • OUTPUT_DATASET: nama untuk set data output
  • OUTPUT_TABLE: nama untuk tabel output

Memulai tugas Dataflow SQL mungkin memerlukan waktu beberapa menit. Anda tidak dapat memperbarui tugas setelah membuatnya. Tugas Dataflow SQL menggunakan penskalaan otomatis dan Dataflow secara otomatis memilih mode eksekusi, baik berupa batch atau streaming. Anda tidak dapat mengontrol perilaku ini untuk tugas Dataflow SQL. Untuk menghentikan tugas Dataflow SQL, gunakan perintah cancel. Menghentikan tugas Dataflow SQL dengan drain tidak didukung.

Untuk mengetahui informasi selengkapnya tentang penggunaan perintah SQL untuk Dataflow, baca Referensi Dataflow SQL dan dokumentasi gcloud Dataflow sql query.

Menggunakan perintah dengan region

Antarmuka command line Dataflow mendukung region mulai dari gcloud CLI versi 176. Gunakan opsi --region dengan perintah apa pun untuk menentukan region yang mengelola tugas Anda.

Misalnya, gcloud dataflow jobs list mencantumkan tugas dari semua region, tetapi gcloud dataflow jobs list --region=europe-west1 hanya mencantumkan tugas yang dikelola dari europe-west1.