Menggunakan antarmuka command line Dataflow

Saat 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 otomatis tersedia.

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:

  gcloud dataflow --help

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

Perintah Template Fleksibel

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

  • build: Mem-build 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 dan metadata SDK. Selain itu, file metadata.json berisi informasi tentang template seperti nama, deskripsi, dan parameter input. Setelah membuat file spesifikasi template, Anda dapat mem-build Template Flex menggunakan Java atau Python.

Untuk informasi tentang cara membuat dan menjalankan Template Flex menggunakan Google Cloud CLI, lihat tutorial Mem-build dan menjalankan Template Flex.

Perintah tugas

Grup subperintah jobs memungkinkan Anda menggunakan tugas Dataflow dalam project. Operasi berikut didukung:

  • cancel: Membatalkan semua tugas yang cocok dengan argumen command line.
  • describe: Menghasilkan objek Tugas yang dihasilkan dari Get API.
  • drain: Menguras semua tugas yang cocok dengan argumen command line.
  • list: Mencantumkan semua tugas dalam project tertentu, yang dapat difilter menurut region.
  • run: Menjalankan tugas dari jalur yang ditentukan.
  • show: Menampilkan deskripsi singkat tentang tugas yang diberikan.

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

gcloud dataflow jobs list

Perintah ini 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 ID tugas yang ditampilkan untuk setiap tugas, Anda dapat menjalankan perintah describe untuk menampilkan informasi selengkapnya tentang 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 hasilnya 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 subperintah snapshots memungkinkan Anda menggunakan 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 project di region yang ditentukan, yang dapat difilter menurut ID tugas.

Untuk informasi selengkapnya tentang cara menggunakan snapshot di Dataflow, lihat Menggunakan snapshot Dataflow.

Perintah SQL

Grup subperintah sql memungkinkan Anda menggunakan 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 lain, 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 SQL Dataflow 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 menjadi 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 informasi selengkapnya tentang penggunaan perintah SQL untuk Dataflow, lihat referensi SQL Dataflow 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.