Google BigQuery 本地仿真

8

是否有类似于 AWSlocalstack 的本地服务器实现可以用于 Google BigQuery

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

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

我不知道有类似的工具,但在这篇Medium文章中,你可以找到一个叫做“GCP仿真引擎”的工具,但该框架不包括BigQuery。 - Enrique Zetina
2个回答

8

虽然 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

如果你正在使用 Go,你需要向新 bQ 客户端传递以下选项

client, err := bigquery.NewClient(
    ctx,
    projectID,
    option.WithEndpoint("http://0.0.0.0:9050"),
    option.WithoutAuthentication(),
  )

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

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

Google还有一个开放的工单来创建BQ模拟器https://issuetracker.google.com/issues/129248927


3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接