【问题标题】:dataflow bigquery unit tests数据流 bigquery 单元测试
【发布时间】:2017-04-29 05:45:26
【问题描述】:

我有一个数据流管道,它从 GCS 中的文件中读取数据,对其进行转换并将结果放入 BQ。 我创建了检查预期 TableRows 是否在 PCollection 中的测试,但是 如何根据我提供的 db 架构验证将写入 BQ 的数据是否正确?

        tableRowPCollection.apply(BigQueryIO.Write.named("Write to table").to(options.getTableName())
            .withCreateDisposition(CREATE_IF_NEEDED).withSchema(someSchema).
                    withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_TRUNCATE));

【问题讨论】:

    标签: google-bigquery integration-testing google-cloud-dataflow endly


    【解决方案1】:

    我假设您想验证BigQueryIO 本身不会损坏您的PCollection 中的数据?

    我认为没有什么好的方法可以做到这一点——当然,除了实际运行管道,然后读回数据并验证它(你可以使用BigQueryIO.Read 来读回数据和一些PAssert 来验证它) - 但我假设您正在寻找更轻量级的东西。

    不过,您也可以看看 BigQueryIO 本身是如何测试的,例如this test。重要的方法是 withTestServicesBigQueryIO.ReadBigQueryIO.Write 都有) - 但是,它是包本地实现细节,不打算供管道编写者使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-21
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 2010-09-12
      相关资源
      最近更新 更多