Per scrivere dati da Dataflow a Bigtable, utilizza il connettore Bigtable I/O di Apache Beam.
Parallelismo
Il parallelismo è controllato dal numero di nodi nel cluster Bigtable. Ogni nodo gestisce uno o più intervalli di chiavi, anche se gli intervalli di chiavi possono spostarsi tra i nodi nell'ambito del bilanciamento del carico. Per ulteriori informazioni, consulta la sezione Comprendere il rendimento nella documentazione di Bigtable.
Ti viene addebitato un costo per il numero di nodi nei cluster dell'istanza. Consulta i prezzi di Bigtable.
Prestazioni
La tabella seguente mostra le metriche di rendimento per le operazioni di scrittura I/O di Bigtable. I carichi di lavoro sono stati eseguiti su un worker e2-standard2, utilizzando l'SDK Apache Beam 2.48.0 per Java. Non hanno utilizzato il runner portatile.
| 100 milioni di record | 1 kB | 1 colonna | Velocità effettiva (byte) | Velocità effettiva (elementi) |
|---|---|---|
| Scrittura | 65 MB/s | 60.000 elementi al secondo |
Queste metriche si basano su semplici pipeline batch. Sono progettate per confrontare il rendimento tra i connettori I/O e non sono necessariamente rappresentative delle pipeline reali. Il rendimento delle pipeline Dataflow è complesso e dipende dal tipo di VM, dai dati elaborati, dal rendimento delle origini e dei sink esterni e dal codice utente. Le metriche si basano sull'esecuzione dell'SDK Java e non sono rappresentative delle caratteristiche di rendimento di altri SDK di linguaggio. Per ulteriori informazioni, consulta la sezione Rendimento I/O di Beam.
Best practice
In generale, evita di utilizzare le transazioni. Non è garantito che le transazioni siano idempotenti e Dataflow potrebbe richiamarle più volte a causa dei tentativi, causando valori imprevisti.
Un singolo worker Dataflow potrebbe elaborare i dati per molti intervalli di chiavi, causando scritture inefficienti in Bigtable. L'utilizzo di
GroupByKeyper raggruppare i dati per chiave Bigtable può migliorare notevolmente il rendimento di scrittura.Se scrivi set di dati di grandi dimensioni in Bigtable, valuta la possibilità di chiamare
withFlowControl. Questa impostazione limita automaticamente la frequenza del traffico verso Bigtable, per garantire che i server Bigtable dispongano di risorse sufficienti per pubblicare i dati.
Passaggi successivi
- Leggi la documentazione del connettore Bigtable I/O.
- Consulta l'elenco dei modelli forniti da Google.