Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour écrire des données depuis Dataflow vers Bigtable, utilisez le connecteur d'E/S Bigtable d'Apache Beam.
Parallélisme
Le parallélisme est contrôlé par le nombre de nœuds dans le cluster Bigtable. Chaque nœud gère une ou plusieurs plages de clés, bien que les plages de clés puissent être déplacées entre les nœuds dans le cadre de l'équilibrage de charge. Pour en savoir plus, consultez la page Analyser les performances dans la documentation de Bigtable.
Le nombre de nœuds dans les clusters de votre instance vous est facturé. Consultez la page sur les tarifs de Bigtable.
Performances
Le tableau suivant présente les métriques de performances pour les opérations d'écriture d'E/S Bigtable. Les charges de travail ont été exécutées sur un nœud de calcul e2-standard2 à l'aide du SDK Apache Beam 2.48.0 pour Java. Elles n'ont pas utilisé l'exécuteur v2.
Ces métriques sont basées sur des pipelines de traitement par lot simples. Elles ont pour but de comparer les performances entre les connecteurs d'E/S et ne sont pas nécessairement représentatives des pipelines réels.
Les performances des pipelines Dataflow sont complexes et dépendent du type de machine virtuelle, des données traitées, des performances des sources et des récepteurs externes, ainsi que du code utilisateur. Les métriques sont basées sur l'exécution du SDK Java et ne sont pas représentatives des caractéristiques de performances des SDK d'autres langages. Pour en savoir plus, consultez la page Performances d'E/S Beam.
Bonnes pratiques
En général, évitez d'utiliser des transactions. Les transactions ne sont pas nécessairement idempotentes, et Dataflow peut les appeler plusieurs fois en raison de nouvelles tentatives, ce qui entraîne des valeurs inattendues.
Un seul nœud de calcul Dataflow peut traiter des données pour de nombreuses plages de clés, ce qui entraîne des écritures inefficaces dans Bigtable. L'utilisation de GroupByKey pour regrouper les données par clé Bigtable peut améliorer considérablement les performances d'écriture.
Si vous écrivez des ensembles de données volumineux dans Bigtable, envisagez d'appeler withFlowControl. Ce paramètre limite automatiquement le débit du trafic vers Bigtable afin de s'assurer que les serveurs Bigtable disposent de suffisamment de ressources pour diffuser des données.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThe Apache Beam Bigtable I/O connector facilitates writing data from Dataflow to Bigtable, and pre-built Google Dataflow templates can also be used depending on the use case.\u003c/p\u003e\n"],["\u003cp\u003eBigtable cluster nodes dictate parallelism, with each node managing key ranges that can shift during load balancing, and node count directly affects Bigtable costs.\u003c/p\u003e\n"],["\u003cp\u003ePerformance metrics for Bigtable I/O write operations were measured at 65 MBps or 60,000 elements per second using a specific setup, though real-world pipeline performance can vary greatly.\u003c/p\u003e\n"],["\u003cp\u003eAvoid using transactions when writing to Bigtable with Dataflow due to potential issues with idempotency and retries, and use \u003ccode\u003eGroupByKey\u003c/code\u003e for improved write efficiency.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing \u003ccode\u003ewithFlowControl\u003c/code\u003e is advised when writing substantial datasets to Bigtable to automatically manage traffic and prevent Bigtable server overload.\u003c/p\u003e\n"]]],[],null,["# Write from Dataflow to Bigtable\n\nTo write data from Dataflow to Bigtable, use the\nApache Beam [Bigtable I/O connector](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/package-summary.html).\n| **Note:** Depending on your scenario, consider using one of the [Google-provided Dataflow templates](/dataflow/docs/guides/templates/provided-templates). Several of these write to Bigtable.\n\nParallelism\n-----------\n\nParallelism is controlled by the number of\n[nodes](/bigtable/docs/instances-clusters-nodes#nodes) in the\nBigtable cluster. Each node manages one or more key ranges,\nalthough key ranges can move between nodes as part of\n[load balancing](/bigtable/docs/overview#load-balancing). For more information,\nsee [Understand performance](/bigtable/docs/performance) in the\nBigtable documentation.\n\nYou are charged for the number of nodes in your instance's clusters. See\n[Bigtable pricing](/bigtable/pricing).\n\nPerformance\n-----------\n\nThe following table shows performance metrics for Bigtable I/O\nwrite operations. The workloads were run on one `e2-standard2` worker, using\nthe Apache Beam SDK 2.48.0 for Java. They did not use Runner v2.\n\n\nThese metrics are based on simple batch pipelines. They are intended to compare performance\nbetween I/O connectors, and are not necessarily representative of real-world pipelines.\nDataflow pipeline performance is complex, and is a function of VM type, the data\nbeing processed, the performance of external sources and sinks, and user code. Metrics are based\non running the Java SDK, and aren't representative of the performance characteristics of other\nlanguage SDKs. For more information, see [Beam IO\nPerformance](https://beam.apache.org/performance/).\n\n\u003cbr /\u003e\n\nBest practices\n--------------\n\n- In general, avoid using transactions. Transactions aren't guaranteed to be\n idempotent, and Dataflow might invoke them multiple times due\n to retries, causing unexpected values.\n\n- A single Dataflow worker might process data for many key\n ranges, leading to inefficient writes to Bigtable. Using\n `GroupByKey` to group data by Bigtable key can significantly\n improve write performance.\n\n- If you write large datasets to Bigtable, consider calling\n [`withFlowControl`](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html#withFlowControl-boolean-). This setting automatically rate-limits\n traffic to Bigtable, to ensure the Bigtable\n servers have enough resources available to serve data.\n\nWhat's next\n-----------\n\n- Read the [Bigtable I/O connector](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/package-summary.html) documentation.\n- See the list of [Google-provided templates](/dataflow/docs/guides/templates/provided-templates)."]]