Menjalankan pernyataan SQL pertama Anda menggunakan Google Cloud Dataflow

1. Pengantar

Cloud-Dataflow.png

Google Cloud Dataflow

Terakhir Diperbarui: 26-Mei-2020

Apa yang dimaksud dengan Dataflow?

Dataflow adalah layanan terkelola untuk menjalankan berbagai macam pola pemrosesan data. Dokumentasi di situs ini menunjukkan cara men-deploy pipeline pemrosesan data batch dan streaming menggunakan Dataflow, termasuk petunjuk cara menggunakan fitur layanan.

Apache Beam SDK adalah model pemrograman open source yang memungkinkan Anda mengembangkan pipeline batch dan streaming. Anda membuat pipeline dengan program Apache Beam, lalu menjalankannya di layanan Dataflow. Dokumentasi Apache Beam memberikan informasi konseptual yang mendalam dan materi referensi untuk model pemrograman Apache Beam, SDK, dan runner lainnya.

Melakukan streaming analisis data dengan cepat

Dataflow memungkinkan pengembangan pipeline data streaming yang cepat dan sederhana dengan latensi data yang lebih rendah.

Menyederhanakan pengoperasian dan pengelolaan

Biarkan tim untuk berfokus pada pemrograman, dan bukan pengelolaan cluster server karena pendekatan serverless Dataflow menghilangkan beban operasional dari workload data engineering.

Mengurangi total biaya kepemilikan

Dengan penskalaan otomatis resource serta kemampuan batch processing yang menggunakan pengoptimalan biaya, Dataflow menawarkan kapasitas tanpa batas untuk mengelola workload musiman atau naik turun tanpa memboroskan anggaran.

Fitur utama

Pengelolaan resource otomatis dan penyeimbangan ulang tugas dinamis

Dataflow mengotomatiskan penyediaan dan pengelolaan resource pemrosesan untuk meminimalkan latensi dan memaksimalkan penggunaan, sehingga Anda tidak perlu menjalankan instance atau mencadangkannya secara manual. Pembagian tugas juga diotomatiskan dan dioptimalkan untuk menyeimbangkan kembali tugas yang mengalami lag secara dinamis. Tidak perlu memburu "hot key" atau melakukan pra-pemrosesan data.

Penskalaan horizontal otomatis

Penskalaan horizontal otomatis terhadap resource worker untuk menghasilkan throughput yang optimal dan rasio harga terhadap performa yang lebih baik secara keseluruhan.

Harga penjadwalan resource yang fleksibel untuk batch processing

Untuk pemrosesan dengan waktu penjadwalan tugas yang fleksibel, seperti tugas semalaman, penjadwalan resource yang fleksibel (FlexRS) menawarkan harga yang lebih rendah untuk batch processing. Tugas fleksibel ini ditempatkan dalam antrean dengan jaminan bahwa tugas tersebut akan diambil untuk dieksekusi dalam waktu enam jam.

Yang akan Anda jalankan sebagai bagian dari program ini

Dalam codelab ini, Anda akan mulai menggunakan Dataflow SQL dengan mengirimkan pernyataan SQL melalui UI Dataflow SQL. Anda kemudian akan menjelajahi pipeline yang berjalan menggunakan UI pemantauan Dataflow.

Yang akan Anda pelajari

  • Cara mengirimkan pernyataan SQL sebagai tugas Dataflow di UI Dataflow SQL.
  • Cara menavigasi ke Pipeline Dataflow.
  • Mempelajari grafik Dataflow yang dibuat oleh pernyataan SQL.
  • Pelajari informasi pemantauan yang disediakan oleh grafik.

Yang Anda butuhkan

  • Project Google Cloud Platform dengan Penagihan diaktifkan.
  • Google Cloud Dataflow dan Google Cloud PubSub diaktifkan.

2. Mempersiapkan

Pastikan Anda telah mengaktifkan Dataflow API dan Cloud Pub/Sub API. Anda dapat memverifikasinya dengan memeriksa perintah & Halaman layanan.

3. Mengakses UI Dataflow SQL

UI Dataflow SQL adalah setelan UI web BigQuery untuk membuat tugas Dataflow SQL. Anda dapat mengakses UI Dataflow SQL dari UI web BigQuery.

  1. Buka UI web BigQuery.

  1. Beralihlah ke mesin Cloud Dataflow.
  • Klik menu drop-down Lainnya dan pilih Setelan kueri.

Menu drop-down Lainnya di UI web BigQuery dengan opsi Setelan kueri dipilih

  • Di menu Query settings, pilih Dataflow engine.
  • Dalam perintah yang muncul jika Dataflow dan Data Catalog API tidak diaktifkan, klik Enable APIs.

Menu Setelan kueri dengan dialog Enable API

  • Klik Save. Menu Setelan kueri dengan tombol pilihan mesin Dataflow yang dipilih dan API diaktifkan

Anda juga dapat mengakses UI Dataflow SQL dari antarmuka pemantauan Dataflow.

  • Buka antarmuka pemantauan Dataflow.

  • Klik Create job from SQL.

4. Menjalankan Tugas Dataflow dengan Kueri SQL

Menulis kueri Dataflow SQL

Kueri Dataflow SQL menggunakan sintaksis kueri SQL Dataflow. Sintaksis kueri Dataflow SQL mirip dengan SQL standar BigQuery. Anda dapat menggunakan Ekstensi streaming SQL Dataflow untuk menggabungkan data dari sumber Dataflow yang terus diperbarui seperti Pub/Sub. Misalnya, kueri berikut menghitung penumpang di aliran Pub/Sub perjalanan taksi setiap menit:

SELECT
  TUMBLE_START('INTERVAL 1 MINUTE') as period_start,
  SUM(passenger_count) AS pickup_count
FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`
WHERE
  ride_status = "pickup"
GROUP BY
  TUMBLE(event_timestamp, 'INTERVAL 1 MINUTE')

Menjalankan kueri Dataflow SQL

Saat Anda menjalankan kueri Dataflow SQL, Dataflow akan mengubah kueri tersebut menjadi pipeline Apache Beam dan menjalankan pipeline.

Anda dapat menjalankan kueri Dataflow SQL menggunakan Konsol Cloud atau alat command line gcloud.

Untuk menjalankan kueri Dataflow SQL, gunakan UI Dataflow SQL.

  • Buka UI Dataflow SQL.
  • Masukkan kueri Dataflow SQL di atas ke dalam editor kueri.
  • Klik Buat tugas Cloud Dataflow untuk membuka panel opsi tugas.
  • (Opsional) Klik Tampilkan parameter opsional dan jelajahi daftar.
  • Di bagian {i>Destination<i} pada panel, pilih BigQuery sebagai {i>Output type<i}.

1155e94529ff58fe.pngS

  • Pilih ID Set Data, lalu buat nama tabel "passengers_per_min"
  • Klik Buat.

Untuk mengetahui informasi lebih lanjut tentang cara menjalankan kueri data dan menulis hasil kueri Dataflow SQL, lihat artikel Menggunakan Dataflow SQL.

5. Menjelajahi tugas di UI Dataflow Monitoring

Saat menjalankan pipeline menggunakan layanan terkelola Dataflow, Anda dapat melihat tugas tersebut dan tugas lainnya dengan menggunakan antarmuka pengguna pemantauan berbasis web dari Dataflow. Antarmuka pemantauan memungkinkan Anda melihat dan berinteraksi dengan tugas Dataflow.

Anda dapat mengakses antarmuka pemantauan Dataflow menggunakan Konsol Google Cloud. Antarmuka pemantauan dapat menunjukkan:

  • Daftar semua tugas Dataflow yang sedang berjalan dan tugas yang sebelumnya dijalankan dalam 30 hari terakhir.
  • Representasi grafis dari setiap pipeline.
  • Detail tentang status tugas, eksekusi, dan versi SDK Anda.
  • Link ke informasi tentang layanan Google Cloud yang menjalankan pipeline Anda, seperti Compute Engine dan Cloud Storage.
  • Setiap error atau peringatan yang terjadi selama tugas berlangsung.

Anda dapat melihat diagram pemantauan tugas dalam antarmuka pemantauan Dataflow. Diagram ini menampilkan metrik selama durasi tugas pipeline dan menyertakan informasi berikut:

  • Visibilitas tingkat langkah untuk membantu mengidentifikasi langkah mana yang mungkin menyebabkan keterlambatan pipeline.
  • Informasi statistik yang dapat memunculkan perilaku anomali.
  • Metrik I/O yang dapat membantu mengidentifikasi bottleneck di sumber dan sink Anda.

Mengakses antarmuka pemantauan Dataflow

Untuk mengakses antarmuka pemantauan Dataflow, ikuti langkah-langkah berikut:

  • Buka konsol cloud:

  • Pilih project Google Cloud Anda.
  • Klik menu di pojok kiri atas.
  • Buka bagian Big Data dan klik Dataflow.

Daftar tugas Dataflow akan muncul beserta statusnya.

58f6402cc923d6bb.pngS

Daftar tugas Dataflow di Konsol Cloud dengan tugas dalam status Running, Failed, dan Succeeded.

Tugas dapat memiliki status berikut:

  • : UI pemantauan belum menerima status dari layanan Dataflow.
  • Running: tugas saat ini sedang berjalan.
  • Belum dimulai: tugas dibuat, tetapi sistem memerlukan waktu untuk melakukan persiapan sebelum diluncurkan.
  • Diantrekan: tugas FlexRS akan dimasukkan ke dalam antrean.
  • Cancelling...: tugas sedang dibatalkan.
  • Dibatalkan: tugas yang dibatalkan oleh pengguna.
  • Menguras...: tugas hampir habis.
  • Drained: pengguna menyelesaikan tugas.
  • Memperbarui...: tugas sedang sedang diperbarui.
  • Diperbarui: pengguna memperbarui tugas.
  • Succeeded: tugas berhasil diselesaikan.
  • Gagal: tugas gagal diselesaikan.

Mencari tugas yang menggunakan "dfsql" sebagai bagian dari jabatan dan klik namanya.

e3bce9b1929564c9.png

Halaman detail Pekerjaan, yang berisi hal berikut:

  • Grafik tugas: representasi visual dari pipeline Anda
  • Metrik tugas: metrik tentang pelaksanaan tugas
  • Panel info tugas: informasi deskriptif tentang pipeline Anda
  • Log tugas: log yang dibuat oleh layanan Dataflow di tingkat tugas
  • Log pekerja: log yang dibuat oleh layanan Dataflow di tingkat pekerja
  • Pelaporan error tugas: diagram yang menunjukkan lokasi terjadinya error di sepanjang linimasa yang dipilih dan jumlah semua error yang dicatat dalam log
  • Pemilih waktu: alat yang memungkinkan Anda menyesuaikan rentang waktu metrik

Dalam halaman detail Pekerjaan, Anda dapat mengganti tampilan pekerjaan dengan tab Grafik pekerjaan dan metrik Pekerjaan.

  • Klik tab METRIK TUGAS dan pelajari diagramnya

7076f8a8911066ab.pngS

6. Menghentikan tugas Dataflow SQL Anda

Untuk menghentikan tugas Dataflow SQL, gunakan perintah Cancel. Penghentian tugas Dataflow SQL dengan Drain tidak didukung.

1229697a873e1cf9.png