如何使用 BigQuery 测试数据流管道
How to test Dataflow Pipeline with BigQuery
我想测试我的管道。
我的管道从 BigQuery 中提取数据,然后将数据存储到 GCS 和 S3。
虽然这里有一些关于流水线测试的信息,
https://cloud.google.com/dataflow/pipelines/testing-your-pipeline,
它不包括从 BigQuery 中提取数据的数据模型。
我找到了下面的例子,但是没有注释,所以有点难以理解。
https://github.com/GoogleCloudPlatform/DataflowJavaSDK/blob/master/examples/src/test/java/com/google/cloud/dataflow/examples/cookbook/BigQueryTornadoesTest.java
有什么好的文件可以测试我的流水线吗?
为了正确集成测试您的整个管道,请创建少量样本数据存储在 BigQuery 中。另外,请在 S3 和 GCS 中创建一个示例 bucket/folder 来存储您的输出。然后 运行 你的管道像往常一样,使用 PipelineOptions 指定测试 BQ table。如果您想在本地 运行,可以使用 DirectPipelineRunner。创建一个脚本可能是最简单的,该脚本首先 运行 管道,然后从 S3 和 GCS 获取数据并验证您是否看到了预期结果。
如果您只想测试管道对某些离线数据的转换,请按照 WordCount 示例进行操作。
在 Google Cloud 中,可以使用 Pub/Sub 主题和 BigQuery 表等真实资源轻松创建端到端测试。
通过使用 Junit5 扩展模型 https://junit.org/junit5/docs/current/user-guide/#extensions 您可以隐藏创建和删除所需资源的复杂性。
你可以在这里找到 demo/seed https://github.com/gabihodoroaga/dataflow-e2e-demo and a blog post here https://hodo.dev/posts/post-31-gcp-dataflow-e2e-tests/
我想测试我的管道。 我的管道从 BigQuery 中提取数据,然后将数据存储到 GCS 和 S3。 虽然这里有一些关于流水线测试的信息, https://cloud.google.com/dataflow/pipelines/testing-your-pipeline, 它不包括从 BigQuery 中提取数据的数据模型。
我找到了下面的例子,但是没有注释,所以有点难以理解。 https://github.com/GoogleCloudPlatform/DataflowJavaSDK/blob/master/examples/src/test/java/com/google/cloud/dataflow/examples/cookbook/BigQueryTornadoesTest.java
有什么好的文件可以测试我的流水线吗?
为了正确集成测试您的整个管道,请创建少量样本数据存储在 BigQuery 中。另外,请在 S3 和 GCS 中创建一个示例 bucket/folder 来存储您的输出。然后 运行 你的管道像往常一样,使用 PipelineOptions 指定测试 BQ table。如果您想在本地 运行,可以使用 DirectPipelineRunner。创建一个脚本可能是最简单的,该脚本首先 运行 管道,然后从 S3 和 GCS 获取数据并验证您是否看到了预期结果。
如果您只想测试管道对某些离线数据的转换,请按照 WordCount 示例进行操作。
在 Google Cloud 中,可以使用 Pub/Sub 主题和 BigQuery 表等真实资源轻松创建端到端测试。
通过使用 Junit5 扩展模型 https://junit.org/junit5/docs/current/user-guide/#extensions 您可以隐藏创建和删除所需资源的复杂性。
你可以在这里找到 demo/seed https://github.com/gabihodoroaga/dataflow-e2e-demo and a blog post here https://hodo.dev/posts/post-31-gcp-dataflow-e2e-tests/