对GCS JSON的BigQuery

对GCS JSON的BigQuery,json,google-bigquery,google-cloud-storage,Json,Google Bigquery,Google Cloud Storage,我希望能够将Bigquery结果作为json文件存储在Google云存储中。我找不到一个OOB的方式来做这件事,所以我必须做的是 对Bigquery运行查询并将结果存储在永久表中。我使用随机guid命名永久表 从bigquery读取数据,在我的服务器端代码中将其转换为json,并将json数据上传到GCS 删除永久表 将GCS中的json文件url返回给前端应用程序 虽然这是可行的,但也存在一些问题 答:我不相信我通过使用自己的永久表来利用BigQuery的缓存。有人能证实这一点吗? B.第2步

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

  • 对Bigquery运行查询并将结果存储在永久表中。我使用随机guid命名永久表
  • 从bigquery读取数据,在我的服务器端代码中将其转换为json,并将json数据上传到GCS
  • 删除永久表
  • 将GCS中的json文件url返回给前端应用程序 虽然这是可行的,但也存在一些问题

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


    谢谢你的帮助。谢谢

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


    现在,确实有一种方法可以避免创建永久表。因为每个查询结果实际上已经是一个临时表了。如果转到“Job Information”,您可以找到临时表的全名,该表可用于数据导出,以JSON格式导出到GCS。但是,这比创建一个持久表并在以后删除它要复杂得多。

    您可以运行查询并将结果以json格式保存在UI中,而无需创建新表。此外,我还建议您根据需要实现函数或程序,并通过这种方式调用,您可以在json中获得答案,您只需从答案中获取json格式的表并将其导出到存储。“保存结果”功能仅支持在Google Drive或local上保存json。