1. Pengantar
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.
- Buka UI web BigQuery.
- Beralihlah ke mesin Cloud Dataflow.
- Klik menu drop-down Lainnya dan pilih Setelan kueri.
- Di menu Query settings, pilih Dataflow engine.
- Dalam perintah yang muncul jika Dataflow dan Data Catalog API tidak diaktifkan, klik Enable APIs.
- Klik Save.
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}.
- 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.
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.
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
6. Menghentikan tugas Dataflow SQL Anda
Untuk menghentikan tugas Dataflow SQL, gunakan perintah Cancel. Penghentian tugas Dataflow SQL dengan Drain tidak didukung.