【问题标题】:BigQuery to GCS JSONBigQuery 到 GCS JSON
【发布时间】:2020-01-25 16:25:58
【问题描述】:

我希望能够将 Bigquery 结果作为 json 文件存储在 Google Cloud Storage 中。我找不到这样做的OOB方式,所以我必须做的是

  1. 对 Bigquery 运行查询并将结果存储在永久表中。我使用随机向导来命名永久表。
  2. 从 bigquery 读取数据,在我的服务器端代码中将其转换为 json 并将 json 数据上传到 GCS。
  3. 删除永久表。
  4. 将GCS中的json文件url返回给前端应用。

虽然这可行,但存在一些问题。

A.我不相信我通过使用我自己的永久表来利用 BigQuery 的缓存。有人可以证实这一点吗? B. 第 2 步将成为性能瓶颈。从 GCP 中提取数据进行 JSON 转换以重新上传到 GCP 感觉不对。更好的方法是使用一些云原生无服务器功能或一些其他 GCP 数据工作流类型服务来执行此步骤,该步骤在数据集中创建新表时触发。您认为实现这一步的最佳方法是什么? C. 如果不使用永久表,真的没有办法做到这一点吗?

任何帮助表示赞赏。谢谢。

【问题讨论】:

  • 您可以在 UI 中运行查询并将结果保存为 json forman,而无需创建新表。我也可以建议你根据你的需要实现一个函数或一个程序,并以这种方式调用API,你可以在json中得到答案,你只需要从答案中获取json中的表并导出它到你的存储空间。
  • “保存结果”功能仅支持将 JSON 保存到 Google Drive 或本地。

标签: json google-bigquery google-cloud-storage


【解决方案1】:

使用持久表,您可以利用Bigquery Data Exporting 将表以 JSON 格式导出到 GCS。与从服务器端读取表格相比,它没有任何成本。

现在,确实有一种方法可以避免创建永久表。因为每个查询结果实际上已经是一个临时表。如果你去“工作信息”,你可以找到临时表的全名,它可以在数据导出中使用,以 JSON 格式导出到 GCS。但是,这比创建一个持久表并在之后将其删除要复杂得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-20
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2021-04-23
    • 1970-01-01
    相关资源
    最近更新 更多