BigQuery json导出使用什么格式?

时间:2018-03-06 23:35:56

标签: json google-bigquery

我试图从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使用此导出格式?是否有其他Google服务或某些依赖于此格式的内容,或者为什么要推出非标准的json格式? (也许我只是误解了json线格式)。请注意,这是来自web-UI,而不是API,它提供了有效的json。

1 个答案:

答案 0 :(得分:2)

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

请参阅:

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

请注意,Web UI还提供将查询结果视为JSON - 并将这些结果格式化为传统的JSON对象。我不确定在这里设置这种不兼容的输出的设计决定是什么 - 但导致该形式无法导入回BigQuery。

所以一般来说,这种格式与BigQuery不兼容:

enter image description here

虽然这与BigQuery兼容:

enter image description here

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