我正试图在PySpark作业中编写与BigQuery相关的代码。我想为BigQuery相关代码编写测试?我能做这个吗?
我试着查看了BigQuery的官方文档页面。但我找不到。
这是一个非常大的问题,如果您想测试Bigquery
SQL
查询,它对应于集成测试。
您可以在serverless
模式下使用Cloud function
、Cloud run
作业和Bigquery
Python
客户端来测试UDF
或SQL
查询。
您还可以在无服务器模式下使用类似Cloud workflow
的管道编排器来执行查询。
在这个例子中,我展示了一个使用Cloud Workflow
的例子。
在我的团队中,我们选择使用真正的基础设施而不是模拟器来执行Bigquery
集成测试。
我们创建了一个基于Terraform
:的测试框架
- 在专用
Terraform
唯一workspace
中为当前测试设置和创建short-lived
基础设施(创建测试查询所需的datasets
和tables
( - 使用
Cloud Workflow
启动DAG
以执行查询 DAG
将结果(实际(与给定的预期列表进行比较- 拆除并销毁
workspace
上的short-lived
基础设施,用于当前测试
我的回答与我的经验和反馈示例相对应,但有很多方法可以在Bigquery
和GCP
上应用集成测试,您必须考虑适合您的情况的最佳方法。