登录
首页 >  Golang >  Go问答

模拟本地 Google BigQuery 数据

来源:stackoverflow

时间:2024-03-13 12:45:28 376浏览 收藏

今天golang学习网给大家带来了《模拟本地 Google BigQuery 数据》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

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

使用 dev_appserver.py 引用了应用程序引擎的本地服务器实现。我可以使用虚拟的 app.yaml 来运行它。

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

解决方案


虽然 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 创建模拟器的公开票

好了,本文到此结束,带大家了解了《模拟本地 Google BigQuery 数据》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>