要在本地机器中提取为 JSON 的 Big Query 表
Posted
技术标签:
【中文标题】要在本地机器中提取为 JSON 的 Big Query 表【英文标题】:Big Query table to be extracted as JSON in Local machine 【发布时间】:2015-09-15 19:16:02 【问题描述】:我知道如何使用 Bq extract 命令将表数据提取到云存储,但我想知道是否有任何选项可以将 Big Query 表作为 NewLine Delimited JSON 提取到本地机器?
我可以通过 CLI 将表格数据提取到 GCS 并从 WEB UI 下载 JSON 数据,但我正在寻找使用 BQ CLI 将表格数据下载为本地机器中的 JSON 的解决方案?我想知道这是否可能?
【问题讨论】:
【参考方案1】:您需要使用 Google Cloud Storage 进行导出作业。从 BigQuery 导出数据在 here 中进行了解释,还请检查不同路径语法的变体。
然后您可以将文件从 GCS 下载到本地存储。
Gsutil工具可以帮助您进一步将文件从GCS下载到本地机器。
你需要先导出到GCS,然后再传输到本地机器。
如果您使用 BQ Cli 工具,则可以将输出格式设置为 JSON,并且可以重定向到文件。这样你可以在本地实现一些导出,但它有一些其他的限制。
这会将前 1000 行导出为 JSON
bq --format=prettyjson query --n=1000 "SELECT * from publicdata:samples.shakespeare" > export.json
【讨论】:
【参考方案2】:可以在不使用 GCS 的情况下使用 BQ CLI 直接将数据提取到本地计算机。
详情请看我的另一个回答:BigQuery Table Data Export
【讨论】:
以上是关于要在本地机器中提取为 JSON 的 Big Query 表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 中从字节数组(在 BIG-ENDIAN 中)中提取单个字段
json Esqueleto做JSON que deve ser Gerado
第二次使用 Dataflow 从 Big Query 中提取数据的问题 [apache beam]