Praktik terbaik konektor I/O Apache Beam

Pemrosesan data di Dataflow bisa sangat diparalelkan. Sebagian besar paralelisme ini ditangani secara otomatis oleh Dataflow. Konektor I/O berada di batas antara pipeline dan bagian lain dari arsitektur Anda, seperti penyimpanan file, database, dan sistem pesan. Dengan demikian, konektor I/O sering kali memiliki pertimbangan khusus untuk mencapai paralelisme.

Dokumen ini menjelaskan beberapa praktik terbaik umum untuk menggunakan konektor I/O di Dataflow.

  • Baca dokumentasi Javadoc, Pydoc, atau Go untuk konektor di pipeline Anda. Untuk informasi selengkapnya, lihat konektor I/O di dokumentasi Apache Beam.

  • Gunakan Apache Beam SDK versi terbaru. Konektor I/O terus ditingkatkan, menambahkan fitur, dan memperbaiki masalah umum.

  • Saat mengembangkan pipeline, penting untuk menyeimbangkan paralelisme pekerjaan. Jika memiliki paralelisme yang terlalu sedikit, tugas dapat berjalan lambat, dan data dapat menumpuk di sumber. Namun, terlalu banyak paralelisme dapat membanjiri sink dengan terlalu banyak permintaan.

  • Jangan mengandalkan urutan elemen. Secara umum, Dataflow tidak menjamin urutan elemen dalam suatu koleksi.

  • Jika konektor I/O tidak tersedia di SDK pilihan Anda, pertimbangkan untuk menggunakan framework lintas bahasa untuk menggunakan konektor I/O dari SDK lain. Selain itu, konektor tidak selalu memiliki kesetaraan fitur antar-SDK. Jika konektor dari SDK lain menyediakan fitur yang diperlukan, Anda dapat menggunakannya sebagai transformasi lintas bahasa.

  • Secara umum, menulis konektor I/O kustom sangat sulit. Gunakan konektor yang ada jika memungkinkan. Jika Anda perlu menerapkan konektor I/O kustom, baca Mengembangkan konektor I/O baru.

  • Jika pipeline gagal, periksa error yang dicatat oleh konektor I/O. Lihat Memecahkan masalah error Dataflow.

Topik berikut mencantumkan praktik terbaik untuk masing-masing konektor I/O:

konektor I/OMelihatMenulis
BigQuery Baca dari BigQuery Menulis ke BigQuery
Bigtable Membaca dari Bigtable Menulis ke Bigtable
Cloud Storage Membaca dari Cloud Storage Menulis ke Cloud Storage

Langkah selanjutnya