Google BigQuery 本地模拟

Amb*_*h B 8 manual-testing go google-bigquery localstack

是否有任何本地服务器实现,google BigQuery例如localstackfor AWS.

有一个关于应用程序引擎本地服务器实现的参考dev_appserver.py。我可以使用虚拟的 app.yaml 来运行它。

  • 我无法使用 localhost:8000/console 访问交互式控制台
  • 我可以bq在启动服务器后运行命令行实用程序吗dev_appserver.py --enable-console app.yaml

pgo*_*ngi 9

虽然 Google 没有提供模拟器,但有一个开源 BigQuery 模拟器可用https://github.com/goccy/bigquery-emulator

我正在使用它,对于本地开发和单元测试非常有用。

运行 BQ 模拟器

$ docker pull ghcr.io/goccy/bigquery-emulator:latest --project=test-local
[bigquery-emulator] REST server listening at 0.0.0.0:9050
[bigquery-emulator] gRPC server listening at 0.0.0.0:9060
Run Code Online (Sandbox Code Playgroud)

如果您使用 Go,则需要将以下选项传递给新的 bq 客户端

$ docker pull ghcr.io/goccy/bigquery-emulator:latest --project=test-local
[bigquery-emulator] REST server listening at 0.0.0.0:9050
[bigquery-emulator] gRPC server listening at 0.0.0.0:9060
Run Code Online (Sandbox Code Playgroud)

BigQuery 模拟器利用 SQLite 进行存储。启动时可以选择内存或文件作为数据存储目的地,如果设置为文件,则数据可以被持久化。

您可以在启动时从 YAML 文件加载种子

Google 还有一张为 BQ 创建模拟器的公开票https://issuetracker.google.com/issues/129248927


Daz*_*kin 3

没有(Google 提供的)BigQuery 模拟器。