在事务中执行 Dataflow 读取操作
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
使用 Dataflow 连接器在同一时间从多个表读取数据,以便通过在单个事务中执行所有读取操作来确保数据一致性。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Dataflow read with transaction\n\nUse the Dataflow connector to read data from multiple tables at the same point in time to ensure data consistency by performing all of the reads in a single transaction.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Import, export, and modify data using Dataflow](/spanner/docs/dataflow-connector)\n\nCode sample\n-----------\n\n### Java\n\n\nTo learn how to install and use the client library for Spanner, see\n[Spanner client libraries](/spanner/docs/reference/libraries).\n\n\nTo authenticate to Spanner, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n SpannerConfig spannerConfig =\n SpannerConfig.create().withInstanceId(instanceId).withDatabaseId(databaseId);\n PCollectionView\u003cTransaction\u003e tx =\n pipeline.apply(\n SpannerIO.createTransaction()\n .withSpannerConfig(spannerConfig)\n .withTimestampBound(TimestampBound.strong()));\n PCollection\u003cStruct\u003e singers =\n pipeline.apply(\n SpannerIO.read()\n .withSpannerConfig(spannerConfig)\n .withQuery(\"SELECT SingerID, FirstName, LastName FROM Singers\")\n .withTransaction(tx));\n PCollection\u003cStruct\u003e albums =\n pipeline.apply(\n SpannerIO.read()\n .withSpannerConfig(spannerConfig)\n .withQuery(\"SELECT SingerId, AlbumId, AlbumTitle FROM Albums\")\n .withTransaction(tx));\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=spanner)."]]