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:
- Pipeline Anda akan mendapatkan manfaat dari Penskalaan Otomatis Vertikal.
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.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.
Pipeline Java yang memenuhi persyaratan berikut dapat menggunakan class
MapState
danSetState
:- 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:
Hentikan pipeline.
Aktifkan Dataflow Prime.
Jalankan kembali pipeline.
Mengaktifkan Dataflow Prime
Untuk mengaktifkan Dataflow Prime untuk pipeline:
Aktifkan Cloud Autoscaling API.
Dataflow Prime menggunakan Cloud Autoscaling API untuk menyesuaikan memori secara dinamis.
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:
Untuk tugas yang diluncurkan dari halaman Buat tugas dari template:
Buka halaman Create job from template.
Di kolom Eksperimen tambahan, masukkan
enable_prime
.
Untuk tugas yang diluncurkan dari template melalui antarmuka command line, teruskan flag
--additional-experiments=enable_prime
.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
- Baca tentang kuota Dataflow.
- Pelajari cara menetapkan opsi pipeline.
- Lihat opsi pipeline yang tersedia untuk pipeline Java dan Python.
- Pelajari lebih lanjut fitur penyesuaian otomatis untuk Dataflow Prime.
- Pelajari GPU Dataflow lebih lanjut.