我有工作/查询返回几十万行.我想得到查询的结果,并将它们作为json写入存储桶.
有这么简单的方法吗?现在我能想到的唯一方法是:
这似乎有点凌乱和迂回.我将把所有这些包装在一个连接到UI的服务中,这个UI会有很多用户点击它,而不愿意管理所有这些临时表.
1)如你所说,步骤很好.您需要将Google云端存储用于导出作业.这里解释了从BigQuery导出数据,还要检查不同路径语法的变体.
然后,您可以将文件从GCS下载到本地存储.
Gsutil工具可以帮助您进一步将文件从GCS下载到本地计算机.
使用此方法,首先需要导出到GCS,然后转移到本地计算机.如果您有一个消息队列系统(如Beanstalkd)来驱动所有这些,那么很容易做一系列操作:提交作业,监视作业状态,完成后启动导出到GCS,然后删除临时表.
另请注意,您可以通过API 更新表并设置expirationTime属性,使用此方法您无需删除它.
2)如果使用BQ Cli工具,则可以将输出格式设置为JSON,并且可以重定向到文件.这样你可以在本地实现一些导出,但它有一些其他的限制.
这将第一个1000行导出为JSON
bq --format=prettyjson query --n=1000 "SELECT * from publicdata:samples.shakespeare" > export.json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1162 次 |
| 最近记录: |