Halaman ini menunjukkan cara menginstal atau mengupdate Apache Beam SDK agar Anda dapat menjalankan pipeline di layanan Dataflow.
Menginstal Apache Beam SDK
Apache Beam SDK adalah model pemrograman open source untuk pipeline data. Anda menentukan pipeline ini dengan program Apache Beam dan dapat memilih runner, seperti Dataflow, untuk menjalankan pipeline Anda.
Java
Versi rilis terbaru untuk Apache Beam SDK untuk Java adalah 2.77.0. Lihat pengumuman rilis untuk mengetahui informasi tentang perubahan yang disertakan dalam rilis.
Untuk mendapatkan Apache Beam SDK for Java menggunakan Maven, gunakan salah satu artefak yang dirilis dari Repositori Pusat Maven.
Tambahkan dependensi dan alat pengelolaan dependensi ke file pom.xml Anda untuk artefak SDK. Untuk mengetahui detailnya, lihat
Mengelola dependensi pipeline di Dataflow.
Untuk mengetahui informasi selengkapnya tentang dependensi Apache Beam SDK untuk Java, lihat Dependensi Apache Beam SDK untuk Java dan Mengelola dependensi Beam di Java dalam dokumentasi Apache Beam.
Python
Versi rilis terbaru untuk Apache Beam SDK untuk Python adalah 2.77.0. Lihat pengumuman rilis untuk mengetahui informasi tentang perubahan yang disertakan dalam rilis.
Untuk mendapatkan Apache Beam SDK untuk Python, gunakan salah satu paket yang dirilis dari Python Package Index.
Instal wheel Python dengan menjalankan perintah berikut:
pip install wheel
Instal Apache Beam SDK untuk Python versi terbaru dengan menjalankan perintah berikut dari lingkungan virtual:
pip install 'apache-beam[gcp]'
Bergantung pada koneksi, penginstalan mungkin memerlukan waktu beberapa saat.
Go
Versi rilis terbaru untuk Apache Beam SDK untuk Go adalah 2.77.0. Lihat pengumuman rilis untuk mengetahui informasi tentang perubahan yang disertakan dalam rilis.
Untuk menginstal Apache Beam SDK untuk Go versi terbaru, jalankan perintah berikut:
go get -u github.com/apache/beam/sdks/v2/go/pkg/beam
Menyiapkan lingkungan pengembangan
Untuk mengetahui informasi tentang cara menyiapkan project dan lingkungan pengembangan Google Cloud untuk menggunakan Dataflow, ikuti salah satu tutorial berikut:
- Membuat pipeline Dataflow menggunakan Java
- Membuat pipeline Dataflow menggunakan Python
- Membuat pipeline Dataflow menggunakan Go
Kode sumber dan contoh
Kode sumber Apache Beam tersedia di repositori Apache Beam di GitHub.
Java
Contoh kode tersedia di direktori Examples Apache Beam di GitHub.
Python
Contoh kode tersedia di direktori Contoh Apache Beam di GitHub.
Go
Contoh kode tersedia di direktori Contoh Apache Beam di GitHub.
Menemukan versi Dataflow SDK
Detail penginstalan bergantung pada lingkungan pengembangan Anda. Jika menggunakan Maven, Anda dapat memiliki beberapa versi Dataflow SDK yang "diinstal" di satu atau beberapa repositori Maven lokal.
Java
Untuk mengetahui versi Dataflow SDK yang menjalankan pipeline tertentu, Anda dapat melihat
output konsol saat menjalankan dengan DataflowPipelineRunner atau
BlockingDataflowPipelineRunner. Konsol akan berisi pesan seperti
berikut, yang berisi informasi versi Dataflow SDK:
Python
Untuk mengetahui versi Dataflow SDK yang dijalankan oleh pipeline tertentu, Anda dapat melihat
output konsol saat menjalankan dengan DataflowRunner. Konsol akan berisi pesan seperti
berikut, yang berisi informasi versi Dataflow SDK:
Go
Untuk mengetahui versi Dataflow SDK yang dijalankan oleh pipeline tertentu, Anda dapat melihat
output konsol saat menjalankan dengan DataflowRunner. Konsol akan berisi pesan seperti
berikut, yang berisi informasi versi Dataflow SDK:
INFO: Executing pipeline on the Dataflow Service, ... Dataflow SDK version: <version>
Memperbarui Apache Beam SDK
Saat mengupgrade pipeline ke versi Apache Beam SDK yang lebih baru, perbarui konfigurasi dependensi project Anda dan periksa potensi perubahan yang dapat menyebabkan gangguan antarversi.
Memeriksa catatan rilis dan perubahan yang dapat menyebabkan gangguan
Sebelum melakukan upgrade, periksa catatan rilis Apache Beam untuk mengetahui perubahan, perbaikan bug, dan potensi perubahan yang dapat menyebabkan gangguan.
Jika Anda mengupgrade beberapa versi minor, tinjau catatan rilis untuk semua rilis perantara. Misalnya, jika Anda melakukan upgrade dari versi
2.50.0 ke 2.60.0, tinjau catatan rilis untuk versi 2.51.0 hingga
2.60.0. Perubahan yang dapat menyebabkan gangguan, penghentian penggunaan, dan update konfigurasi bersifat
kumulatif di seluruh rilis.
Untuk mengetahui masalah umum dan pemberitahuan khusus konektor yang memengaruhi Dataflow, lihat kolom Detail di tabel Status dukungan versi SDK.
Memperbarui dependensi SDK
Untuk mengupgrade versi SDK di project Anda, perbarui konfigurasi build atau lingkungan untuk bahasa yang digunakan pipeline Anda. Ganti
VERSION dengan versi Apache Beam SDK target Anda
(misalnya, 2.76.0).
Java
Untuk mengupgrade Apache Beam SDK for Java, update versi SDK di file konfigurasi build Anda, seperti pom.xml untuk Maven atau build.gradle untuk Gradle.
Maven
Dalam file pom.xml, perbarui properti beam.version
atau perbarui tag <version> dalam
dependensi Apache Beam:
<properties> <beam.version>VERSION</beam.version> </properties> <dependencies> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-sdks-java-core</artifactId> <version>${beam.version}</version> </dependency> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> <version>${beam.version}</version> </dependency> </dependencies>
Gradle
Di file build.gradle, perbarui deklarasi dependensi Apache Beam:
dependencies { implementation 'org.apache.beam:beam-sdks-java-core:VERSION' implementation 'org.apache.beam:beam-runners-google-cloud-dataflow-java:VERSION' }
Untuk mengetahui informasi selengkapnya, lihat Mengelola dependensi pipeline Java.
Python
Untuk mengupgrade Apache Beam SDK untuk Python di lingkungan lokal atau virtual, gunakan pip:
pip install --upgrade 'apache-beam[gcp]==VERSION'
Di file requirements.txt atau setup.py, perbarui
versi yang disematkan:
apache-beam[gcp]==VERSION
Go
Untuk mengupgrade Apache Beam SDK for Go, gunakan go get untuk
mengambil versi target dan memperbarui file go.mod Anda:
go get -u github.com/apache/beam/sdks/v2@vVERSION go mod tidy
Untuk mengetahui informasi selengkapnya, lihat Mengelola dependensi pipeline Go.
Men-deploy pipeline yang diupgrade
Setelah mengupdate versi SDK dalam kode, pilih strategi deployment berdasarkan jenis pipeline:
- Pipeline streaming: Untuk pipeline streaming, Anda dapat men-deploy kode yang diupgrade menggunakan penggantian tugas di tempat, menjalankan pipeline paralel, atau menghentikan dan memulai ulang tugas. Untuk mengetahui petunjuk mendetail, aturan kompatibilitas, dan strategi deployment, lihat Memperbarui pipeline yang ada dan Mengupgrade pipeline streaming.
- Pipeline batch: Pipeline batch tidak mendukung update saat dalam proses atau tugas penggantian di tempat. Biarkan tugas yang ada berjalan hingga selesai, atau batalkan tugas yang sedang berjalan, lalu luncurkan tugas baru dengan versi SDK yang diupgrade.
Praktik terbaik untuk CI/CD dan mengupdate deployment
Untuk meminimalkan risiko operasional saat meluncurkan upgrade SDK di seluruh pipeline build dan deployment otomatis, ikuti praktik terbaik berikut:
- Sematkan dependensi: Selalu sematkan versi SDK yang tepat seperti
apache-beam[gcp]==VERSIONdi Python, atau string versi yang tepat di Maven dan Gradle. Hindari rentang dinamis (seperti>=ataulatest) untuk mencegah terjadinya upgrade minor yang belum diuji selama build CI/CD otomatis. - Validasi di lingkungan staging: Deploy dan uji pipeline yang telah diupgrade di lingkungan staging atau praproduksi khusus sebelum menerapkan perubahan ke lingkungan produksi. Validasi throughput pipeline, stabilitas metrik, dan output hilir.
- Gunakan pipeline pengujian atau paralel: Untuk aplikasi streaming penting, jalankan pipeline yang diupgrade secara paralel dengan pipeline yang ada. Verifikasi kesamaan data dan kebenaran output antara kedua tugas sebelum Anda menghentikan pipeline yang lebih lama.
Langkah berikutnya
- Dataflow terintegrasi dengan Google Cloud CLI. Untuk mengetahui petunjuk tentang cara menginstal antarmuka command line Dataflow, lihat Menggunakan antarmuka command line Dataflow.
- Untuk mempelajari kemampuan Apache Beam yang didukung Dataflow, tinjau matriks kemampuan Apache Beam.
- Tinjau status dukungan versi SDK untuk melihat rilis SDK yang didukung, tidak digunakan lagi, dan dihentikan.