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 terbaru yang dirilis untuk Apache Beam SDK untuk Java adalah 2.76.0. Lihat pengumuman rilis untuk mengetahui informasi tentang perubahan yang disertakan dalam rilis.
Untuk mendapatkan Apache Beam SDK untuk Java menggunakan Maven, gunakan salah satu artefak yang dirilis dari Repositori Pusat Maven.
Tambahkan dependensi dan alat pengelolaan dependensi ke file
pom.xml 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 terbaru yang dirilis untuk Apache Beam SDK untuk Python adalah 2.76.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 versi terbaru Apache Beam SDK untuk Python dengan menjalankan perintah berikut dari lingkungan virtual:
pip install 'apache-beam[gcp]'
Bergantung pada koneksi, penginstalan mungkin memerlukan waktu beberapa saat.
Go
Versi terbaru yang dirilis untuk Apache Beam SDK untuk Go adalah 2.76.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 Anda 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 Anda menggunakan Maven, Anda dapat menginstal beberapa versi Dataflow SDK "diinstal" dalam 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 menjalankan 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 menjalankan 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>
Mengupdate Apache Beam SDK
Saat mengupgrade pipeline ke versi Apache Beam SDK yang lebih baru, perbarui konfigurasi dependensi project Anda dan periksa potensi perubahan yang tidak kompatibel antar-versi.
Periksa 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 merusak.
Jika Anda melakukan upgrade di 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 menyebabkan gangguan, penghentian penggunaan, dan update konfigurasi bersifat kumulatif di seluruh rilis.
Untuk 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 untuk Java, perbarui versi SDK di file konfigurasi build Anda, seperti pom.xml untuk Maven atau build.gradle untuk Gradle.
Maven
Di file pom.xml, perbarui properti beam.version
atau perbarui tag <version> di
dependensi Apache Beam Anda:
<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 Anda, 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 untuk 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 Anda:
- 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 upgrade kecil yang belum diuji terjadi selama build CI/CD otomatis. - Validasi di lingkungan staging: Deploy dan uji pipeline yang diupgrade di lingkungan staging atau praproduksi khusus sebelum mempromosikan perubahan ke produksi. Memvalidasi throughput pipeline, stabilitas metrik, dan output hilir.
- Gunakan pipeline pengujian atau paralel: Untuk aplikasi streaming yang sangat 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.