Menulis dari Dataflow ke Bigtable

Untuk menulis data dari Dataflow ke Bigtable, gunakan konektor I/O Bigtable Apache Beam.

Keparalelan

Keparalelan dikontrol oleh jumlah node di cluster Bigtable. Setiap node mengelola satu atau beberapa rentang kunci, meskipun rentang kunci dapat berpindah antar-node sebagai bagian dari load balancing. Untuk mengetahui informasi selengkapnya, lihat Memahami performa dalam dokumentasi Bigtable.

Anda akan dikenai biaya untuk jumlah node di cluster instance. Lihat Harga Bigtable.

Performa

Tabel berikut menunjukkan metrik performa untuk operasi tulis I/O Bigtable. Beban kerja dijalankan pada satu pekerja e2-standard2, menggunakan Apache Beam SDK 2.48.0 untuk Java. Beban kerja tidak menggunakan Portable Runner.

100 juta rekaman | 1 kB | 1 kolom Throughput (byte) Throughput (elemen)
Tulis 65 MBps 60.000 elemen per detik

Metrik ini didasarkan pada pipeline batch sederhana. Metrik ini dimaksudkan untuk membandingkan performa antara konektor I/O, dan tidak selalu mewakili pipeline dunia nyata. Performa pipeline Dataflow bersifat kompleks, dan merupakan fungsi dari jenis VM, data yang diproses, performa sumber dan sink eksternal, serta kode pengguna. Metrik didasarkan pada menjalankan Java SDK, dan tidak mewakili karakteristik performa SDK bahasa lainnya. Untuk mengetahui informasi selengkapnya, lihat Performa Beam IO.

Praktik terbaik

  • Secara umum, hindari penggunaan transaksi. Transaksi tidak dijamin bersifat idempoten, dan Dataflow mungkin memanggilnya beberapa kali karena percobaan ulang, yang menyebabkan nilai yang tidak terduga.

  • Satu pekerja Dataflow dapat memproses data untuk banyak rentang kunci, yang menyebabkan penulisan yang tidak efisien ke Bigtable. Menggunakan GroupByKey untuk mengelompokkan data berdasarkan kunci Bigtable dapat meningkatkan performa tulis secara signifikan.

  • Jika Anda menulis set data besar ke Bigtable, pertimbangkan untuk memanggil withFlowControl. Setelan ini secara otomatis membatasi kecepatan traffic ke Bigtable, untuk memastikan server Bigtable memiliki cukup resource yang tersedia untuk menayangkan data.

Langkah berikutnya