Menggunakan Dataflow Prime

Dataflow Prime adalah platform pemrosesan data serverless untuk pipeline Apache Beam. Berdasarkan Dataflow, Dataflow Prime menggunakan arsitektur komputasi dan status terpisah. Dalam kasus berikut, Dataflow Prime dapat meningkatkan efisiensi pipeline:

Dataflow Prime mendukung pipeline batch dan streaming. Secara default, Dataflow Prime menggunakan Dataflow Shuffle dan Dataflow Runner v2 untuk pipeline batch.

Dukungan versi SDK

Dataflow Prime mendukung Apache Beam SDK berikut:

  • Apache Beam Python SDK versi 2.21.0 atau yang lebih baru

  • Apache Beam Java SDK versi 2.30.0 atau yang lebih baru

  • Apache Beam Go SDK versi 2.44.0 atau yang lebih baru

Untuk mendownload paket SDK atau membaca Catatan Rilis, lihat Download Apache Beam.

Fitur Dataflow Prime

Berikut adalah daftar fitur Dataflow Prime yang didukung untuk berbagai jenis pipeline:

  • Penskalaan Otomatis Vertikal (memori). Mendukung pipeline streaming di Python, Java, dan Go.
  • Penyesuaian yang tepat (petunjuk resource). Mendukung pipeline batch di Python dan Java.
  • Visualizer Tugas. Mendukung pipeline batch di Python dan Java.
  • Rekomendasi Cerdas. Mendukung pipeline streaming dan batch di Python dan Java.
  • Pipeline Data. Mendukung pipeline streaming dan batch di Python dan Java.

Fitur Visualisator Tugas, Rekomendasi Cerdas, dan Pipeline Data juga didukung untuk tugas non-Dataflow Prime.

Penskalaan Otomatis Vertikal

Fitur ini secara otomatis menyesuaikan memori yang tersedia untuk VM pekerja Dataflow agar sesuai dengan kebutuhan pipeline dan membantu mencegah error kehabisan memori. Di Dataflow Prime, Penskalaan Otomatis Vertikal berfungsi bersama Penskalaan Otomatis Horizontal untuk menskalakan resource secara dinamis.

Untuk informasi selengkapnya, lihat Penskalaan Otomatis Vertikal.

Penyesuaian yang tepat

Fitur ini menggunakan petunjuk resource, fitur Apache Beam. Dengan menggunakan petunjuk resource, Anda dapat menentukan persyaratan resource untuk seluruh pipeline atau untuk langkah-langkah tertentu dalam pipeline. Fitur ini memungkinkan Anda membuat pekerja yang disesuaikan untuk berbagai langkah pipeline. Penyesuaian yang tepat memungkinkan Anda menentukan resource pipeline untuk memaksimalkan efisiensi, menurunkan biaya operasional, dan menghindari error kehabisan memori dan resource lainnya. API ini mendukung petunjuk resource memori dan GPU.

Pemasangan yang tepat memerlukan Apache Beam 2.30.0 atau yang lebih baru.

Untuk informasi selengkapnya, lihat Penyesuaian yang tepat.

Visualisator Tugas

Fitur ini memungkinkan Anda melihat performa tugas Dataflow dan mengoptimalkan performa tugas dengan menemukan kode yang tidak efisien, termasuk bottleneck paralelisasi. Di konsol Google Cloud, Anda dapat mengklik tugas Dataflow apa pun di halaman Jobs untuk melihat detail tentang tugas tersebut. Anda juga dapat melihat daftar langkah yang terkait dengan setiap tahap pipeline.

Untuk informasi selengkapnya, lihat Detail eksekusi.

Rekomendasi Cerdas

Fitur ini memungkinkan Anda mengoptimalkan dan memecahkan masalah pipeline berdasarkan rekomendasi yang diberikan di tab Diagnostik pada halaman detail tugas. Di konsol Google Cloud, Anda dapat mengklik tugas Dataflow apa pun di halaman Jobs untuk melihat detail tentang tugas tersebut.

Untuk informasi selengkapnya, lihat Rekomendasi dan diagnostik.

Pipeline data

Fitur ini memungkinkan Anda menjadwalkan tugas, mengamati penggunaan resource, melacak tujuan keaktualan data untuk data streaming, dan mengoptimalkan pipeline.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan Pipeline Data.

Persyaratan kuota dan batas

Kuota dan batasnya sama untuk Dataflow dan Dataflow Prime. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.

Jika Anda memilih Data Pipeline, ada implikasi tambahan untuk kuota dan region.

Fitur yang tidak didukung

Dataflow Prime tidak mendukung hal berikut:

  • Menentukan jenis VM tertentu menggunakan flag --worker_machine_type atau --machine_type untuk pipeline Python dan --workerMachineType untuk pipeline Java.

  • Melihat atau menggunakan SSH untuk login ke VM pekerja.

  • Class OrderedListState untuk pipeline Java.

  • Penjadwalan Resource yang Fleksibel (FlexRS).

  • Menggunakan Kontrol Layanan VPC dengan Penskalaan Otomatis Vertikal. Jika Anda mengaktifkan Dataflow Prime dan meluncurkan tugas baru dalam perimeter Kontrol Layanan VPC, tugas tersebut akan menggunakan Dataflow Prime tanpa Penskalaan Otomatis Vertikal.

  • NVIDIA Multi-Process Service (MPS).

  • Pipeline Java yang memenuhi persyaratan berikut dapat menggunakan class MapState dan SetState:

    • menggunakan Streaming Engine
    • menggunakan Apache Beam SDK versi 2.58.0 dan yang lebih baru
    • jangan gunakan Runner v2

Semua opsi pipeline yang tidak secara eksplisit disebutkan sebelumnya atau dalam tabel perbandingan fitur berfungsi sama untuk Dataflow dan Dataflow Prime.

Sebelum menggunakan Dataflow Prime

Untuk menggunakan Dataflow Prime, Anda dapat menggunakan kembali kode pipeline yang ada dan juga mengaktifkan opsi Dataflow Prime melalui Cloud Shell atau secara terprogram.

Dataflow Prime kompatibel dengan tugas batch yang menggunakan Dataflow Shuffle dan tugas streaming yang menggunakan Streaming Engine. Namun, sebaiknya uji pipeline Anda dengan Dataflow Prime sebelum menggunakannya di lingkungan produksi.

Jika pipeline streaming Anda berjalan dalam produksi, untuk menggunakan Dataflow Prime, lakukan langkah-langkah berikut:

  1. Hentikan pipeline.

  2. Aktifkan Dataflow Prime.

  3. Jalankan kembali pipeline.

Mengaktifkan Dataflow Prime

Untuk mengaktifkan Dataflow Prime untuk pipeline:

  1. Aktifkan Cloud Autoscaling API.

    Mengaktifkan API

    Dataflow Prime menggunakan Cloud Autoscaling API untuk menyesuaikan memori secara dinamis.

  2. Aktifkan Prime di opsi pipeline Anda.

    Anda dapat menetapkan opsi pipeline secara terprogram atau menggunakan command line. Untuk versi Apache Beam SDK yang didukung, aktifkan tanda berikut:

Java

--dataflowServiceOptions=enable_prime

Python

Apache Beam Python SDK versi 2.29.0 atau yang lebih baru:

--dataflow_service_options=enable_prime

Apache Beam Python SDK versi 2.21.0 hingga 2.28.0:

--experiments=enable_prime

Go

--dataflow_service_options=enable_prime

Menggunakan Dataflow Prime dengan template

Jika menggunakan template Dataflow, Anda dapat memilih untuk mengaktifkan Dataflow Prime dengan salah satu cara berikut:

  1. Untuk tugas yang diluncurkan dari halaman Buat tugas dari template:

    1. Buka halaman Create job from template.

      Buka Buat tugas dari template

    2. Di kolom Eksperimen tambahan, masukkan enable_prime.

  2. Untuk tugas yang diluncurkan dari template melalui antarmuka command line, teruskan flag --additional-experiments=enable_prime.

  3. Untuk mengaktifkan Dataflow Prime saat Anda membuat template, tetapkan flag --experiments=enable_prime.

Menggunakan Dataflow Prime di notebook Apache Beam

Jika menggunakan notebook Apache Beam, Anda dapat mengaktifkan Dataflow Prime secara terprogram menggunakan PipelineOptions:

options = pipeline_options.PipelineOptions(
    flags=[],
    dataflow_service_options=['enable_prime'],
)

Untuk mempelajari lebih lanjut cara menetapkan opsi Dataflow di notebook, lihat Meluncurkan tugas Dataflow dari pipeline yang dibuat di notebook.

Perbandingan fitur antara Dataflow dan Dataflow Prime

Tabel berikut membandingkan fitur yang tersedia untuk kedua varian Dataflow.

Fitur Dataflow Prime Dataflow
Runner v2 Fitur default tanpa opsi untuk menonaktifkan tugas batch dan opsional untuk tugas streaming Fitur default dengan opsi untuk menonaktifkan tugas batch dan opsional untuk tugas streaming
Dataflow Shuffle untuk tugas batch Fitur default dengan opsi untuk menonaktifkan Fitur default dengan opsi untuk menonaktifkan
Streaming Engine untuk tugas streaming Fitur opsional untuk pipeline Java dan selalu aktif untuk pipeline Python Fitur opsional untuk pipeline Java dan selalu aktif untuk pipeline Python sejak 2.45.0
Penskalaan Otomatis Horizontal Fitur default dengan opsi untuk menonaktifkan Fitur default dengan opsi untuk menonaktifkan
Penskalaan Otomatis Vertikal Fitur default dengan opsi untuk menonaktifkan Tidak berlaku
Penyesuaian yang tepat Fitur opsional Fitur opsional
Penagihan Penagihan serverless Penagihan standar

Langkah selanjutnya