Scrivere da Dataflow a Bigtable

Per scrivere dati da Dataflow in 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 questi possono spostarsi da un nodo all'altro nell'ambito del bilanciamento del carico. Per saperne di più, consulta Informazioni sul rendimento nella documentazione di Bigtable.

Ti viene addebitato il numero di nodi nei cluster della tua istanza. Vedi Prezzi di Bigtable.

Prestazioni

La tabella seguente mostra le metriche sul rendimento per le operazioni di scrittura I/O di Bigtable. I carichi di lavoro sono stati eseguiti su un e2-standard2 worker utilizzando l'SDK Apache Beam 2.48.0 per Java. Non hanno utilizzato Runner v2.

100 milioni di record | 1 kB | 1 colonna Velocità effettiva (byte) Velocità effettiva (elementi)
Scrivere 65 MB/s 60.000 elementi al secondo

Queste metriche si basano su semplici pipeline batch. Sono progettati per confrontare il rendimento tra i connettori I/O e non sono necessariamente rappresentativi delle pipeline reali. Le prestazioni della pipeline Dataflow sono complesse e dipendono dal tipo di VM, dai dati in fase di elaborazione, dalle prestazioni di origini e destinazioni esterne e dal codice utente. Le metriche si basano sull'esecuzione dell'SDK Java e non sono rappresentative delle caratteristiche di prestazioni di altri SDK per lingua. Per ulteriori informazioni, consulta Rendimento IO di Beam.

Best practice

  • In generale, evita di utilizzare le transazioni. Non è garantito che le transazioni siano idempotenti e Dataflow potrebbe invocarle più volte a causa dei tentativi di nuovo invio, causando valori imprevisti.

  • Un singolo worker Dataflow potrebbe elaborare i dati per molti intervalli di chiavi, con conseguente scrittura inefficiente in Bigtable. L'utilizzo di GroupByKey per raggruppare i dati in base alla chiave Bigtable può migliorare notevolmente le prestazioni di scrittura.

  • Se scrivi set di dati di grandi dimensioni in Bigtable, ti consigliamo 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