gpt4 book ai didi

google-bigquery - 通过 Google BigQuery API 将查询结果导出为 JSON

转载 作者:行者123 更新时间:2023-12-01 23:22:32 25 4
gpt4 key购买 nike

我有返回几十万行的工作/查询。我想获取查询的结果并将它们作为 json 写入存储桶中。

有没有直接的方法可以做到这一点?目前我能想到的唯一方法是:

  • 将 allowLargeResults 设置为 true
  • 设置一个随机命名的目标表来保存查询输出
  • 创建第二个作业以将“临时”目标表中的数据提取到存储桶中的文件
  • 删除随机的“临时”表。

  • 这似乎有点困惑和迂回。我将把所有这些都包装在一个与 UI Hook 的服务中,该服务将有很多用户点击它,而不是管理所有这些临时表。

    最佳答案

    1)正如你提到的步骤是好的。您需要将 Google Cloud Storage 用于导出作业。解释从 BigQuery 导出数据 here ,还要检查不同路径语法的变体。

    然后您可以将文件从 GCS 下载到您的本地存储。

    Gsutil工具可以帮助您进一步将文件从 GCS 下载到本地机器。

    使用这种方法,您首先需要导出到 GCS,然后传输到本地机器。如果您有一个消息队列系统(如 Beanstalkd )来驱动所有这些,那么很容易执行一系列操作:提交作业,监控作业状态,完成后启动导出到 GCS,然后删除临时表。

    也请知道您可以update a table通过 API 并设置 expirationTime属性,使用这种方法,您无需删除它。

    2)如果你使用BQ Cli工具,那么你可以将输出格式设置为JSON,并且可以重定向到一个文件。这样你可以在本地实现一些导出,但它有一些其他限制。

    这会将前 1000 行导出为 JSON

    bq --format=prettyjson query --n=1000 "SELECT * from publicdata:samples.shakespeare" > export.json

    关于google-bigquery - 通过 Google BigQuery API 将查询结果导出为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357656/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com