要在本地机器中提取为 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]

如何通过GCS将GA360表从Big query导出到雪花作为json文件而不丢失数据?

html提取本地xml或者json文件问题

json Exemplo de JSON que deve ser gerado pelo programa