Menginstal atau mengupdate Apache Beam SDK

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:

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]==VERSION di Python, atau string versi yang tepat di Maven dan Gradle. Hindari rentang dinamis (seperti >= atau latest) 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