【问题标题】:What format does BigQuery json export use?BigQuery json 导出使用什么格式?
【发布时间】:2018-08-14 22:58:26
【问题描述】:

我试图从 Google 的 json 导出中加载数据,但它看起来不是有效的 JSON (ECMA-404)、(RFC 7159)、(RFC 4627)。这是我对 json 换行符的期望:

[{},{},{}]

但这就是它所提供的:

{}{}{}

以下是在四行查询结果中单击“下载为 JSON”按钮的示例输出:

{"c0":"001U0000016lf5jIAA","c1":"Tim Burton's Corpse Bride","c2":"a0KU000000OkQ8IMAV","c3":"Luxembourg","c4":"German","c5":"Sub & Audio","c21":null,"c22":"2025542.0"}
{"c0":"001U0000016lf5jIAA","c1":"Tim Burton's Corpse Bride","c2":"a0KU000000OkQ8IMAV","c3":"Luxembourg","c4":"German","c5":"Sub & Audio","c21":null,"c22":"2025542.0"}
{"c0":"001U0000016lf5jIAA","c1":"Tim Burton's Corpse Bride","c2":"a0KU000000OjUuEMAV","c3":"Luxembourg","c4":"French - Parisian","c5":"Sub & Audio","c21":null,"c22":"2025542.0"}
{"c0":"001U0000016lf5jIAA","c1":"Tim Burton's Corpse Bride","c2":"a0KU000000OkQ8IMAV","c3":"Luxembourg","c4":"German","c5":"Sub & Audio","c21":null,"c22":"2025542.0"}

BigQuery 将这种导出格式用于 json 是否有原因?是否有其他谷歌服务或依赖于这种格式的东西,或者为什么它会推送非标准的 json 格式? (也许我只是误解了 json 行格式)。请注意,这是来自 web-UI,而不是 API,它提供了有效的 json。

【问题讨论】:

  • 当你说 - what it's giving - 你到底是什么意思!?
  • @MikhailBerlyant 查看更新后的回复。
  • 问题现在很清楚了:o)
  • 使用新的 UI (sign up through the alpha form) 如果有帮助,我会在“JSON”结果选项卡中获得与“另存为”并选择“下载为 JSON”相同的格式。
  • @ElliottBrossard 谢谢——刚刚提交,谢谢。

标签: json google-bigquery


【解决方案1】:

BigQuery 读取并输出以换行符分隔的 JSON - 这是因为传统 JSON 不能很好地适应大数据的需求。

见:

问题中显示的“下载为 JSON”的输出与 BigQuery 可以读取的 JSON 输入兼容。

请注意,Web UI 还提供以 JSON 格式查看查询结果 - 并且这些结果被格式化为传统的 JSON 对象。我不确定在此处具有此不兼容输出的设计决定是什么 - 但该表单的结果将无法导入回 BigQuery。

所以总的来说,这种格式与 BigQuery 不兼容:

虽然这与 BigQuery 兼容:

为什么这种不那么传统的 JSON 格式是大数据领域的最佳选择?在[...] 中封装一万亿行定义了一个具有一万亿行的单个对象——这很难解析和处理。新行分隔的 JSON 解决了​​这个问题,每一行都是一个独立的对象。

【讨论】:

  • 谢谢,这很清楚,很好地解释了差异。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 2018-09-13
  • 1970-01-01
  • 2022-11-10
相关资源
最近更新 更多