Dataflow Prime adalah platform pemrosesan data serverless untuk pipeline Apache Beam. Berdasarkan Dataflow, Dataflow Prime menggunakan arsitektur yang dipisahkan oleh status dan komputasi. 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 Pekerjaan. Mendukung pipeline batch di Python dan Java.
- Rekomendasi Pintar. Mendukung pipeline streaming dan batch di Python dan Java.
- Pipeline Data. Mendukung pipeline streaming dan batch di Python dan Java.
Fitur Job Visualizer, Smart Recommendations, dan Data Pipelines juga didukung untuk tugas non-Dataflow Prime.
Penskalaan Otomatis Vertikal
Fitur ini otomatis menyesuaikan memori yang tersedia ke 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, yang merupakan fitur Apache Beam. Dengan menggunakan petunjuk resource, Anda dapat menentukan persyaratan resource untuk seluruh pipeline atau langkah tertentu pada 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, serta menghindari kehabisan memori serta error resource lainnya. Library ini mendukung petunjuk resource memori dan GPU.
Penyesuaian yang tepat memerlukan Apache Beam 2.30.0 atau yang lebih baru.
Untuk informasi selengkapnya, lihat Pengepasan yang tepat.
Visualizer 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 mana pun di halaman Jobs untuk melihat detail tentang tugas tersebut. Anda juga dapat melihat daftar langkah yang terkait dengan setiap tahap pipeline.
Untuk mengetahui informasi selengkapnya, lihat Detail eksekusi.
Rekomendasi Cerdas
Fitur ini memungkinkan Anda mengoptimalkan dan memecahkan masalah pipeline berdasarkan rekomendasi yang diberikan di tab Diagnostik di halaman detail tugas. Di konsol Google Cloud, Anda dapat mengklik tugas Dataflow mana pun di halaman Jobs untuk melihat detail tentang tugas tersebut.
Untuk mengetahui informasi selengkapnya, lihat Rekomendasi dan diagnostik.
Pipeline Data
Dengan fitur ini, Anda dapat menjadwalkan tugas, mengamati penggunaan resource, melacak tujuan keaktualan data untuk streaming data, dan mengoptimalkan pipeline.
Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan Pipeline Data.
Persyaratan kuota dan batas
Kuota dan batas untuk Dataflow dan Dataflow Prime sama. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
Jika Anda memilih Pipeline Data, ada implikasi tambahan untuk kuota dan region.
Fitur yang tidak didukung
Dataflow Prime tidak mendukung hal berikut:
Petunjuk resource untuk transformasi lintas bahasa. Untuk informasi selengkapnya tentang batasan ini, lihat dokumentasi Apache Beam.
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
MapState
danOrderedListState
untuk pipeline Java.Jenis jendela kustom.
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.
Semua opsi pipeline yang tidak disebutkan secara eksplisit 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 tahap produksi, untuk menggunakan Dataflow Prime, lakukan langkah-langkah berikut:
Menghentikan pipeline.
Aktifkan Dataflow Prime.
Jalankan kembali pipeline.
Aktifkan Dataflow Prime
Guna mengaktifkan Dataflow Prime untuk pipeline:
Aktifkan API Penskalaan Otomatis Cloud.
Dataflow Prime menggunakan API Penskalaan Otomatis Cloud untuk menyesuaikan memori secara dinamis.
Aktifkan Prime di opsi pipeline Anda.
Anda dapat menetapkan opsi pipeline secara terprogram atau dengan 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 Create job from template:
Buka halaman Create job from template.
Di kolom Additional experiment, masukkan
enable_prime
.
Untuk tugas yang diluncurkan dari template melalui antarmuka command line, teruskan flag
--additional-experiments=enable_prime
.Untuk mengaktifkan Dataflow Prime saat 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 menyetel opsi Dataflow di notebook, lihat Meluncurkan tugas Dataflow dari pipeline yang dibuat di notebook Anda.
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 nonaktif untuk tugas batch dan opsional untuk tugas streaming | Fitur opsional |
Dataflow Shuffle untuk tugas batch | Fitur default tanpa opsi untuk dinonaktifkan | Fitur default dengan opsi untuk menonaktifkannya |
Streaming Engine untuk tugas streaming | Fitur opsional untuk pipeline Java dan selalu aktif untuk pipeline Python | Fitur opsional untuk pipeline Java dan opsi untuk menonaktifkan pipeline Python |
Penskalaan Otomatis Horizontal | Fitur default dengan opsi untuk menonaktifkannya | Fitur default dengan opsi untuk menonaktifkannya |
Penskalaan Otomatis Vertikal | Fitur default dengan opsi untuk menonaktifkannya | Tidak berlaku |
Pengepasan yang tepat | Fitur opsional | Fitur opsional |
Penagihan | Penagihan serverless | Penagihan standar |
Langkah selanjutnya
- Baca quotas 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.