【发布时间】:2017-07-31 10:36:47
【问题描述】:
我正在尝试使用 Google 表格作为 BigQuery 表的数据源。 我的一个数据集包括重复的字段。应如何在 GoogleSheets 中构造数据才能作为重复字段正常工作?
到目前为止,我已经尝试用逗号分隔重复的值。 我在创建表时没有收到错误,但是当我尝试查询数据时,返回的错误是“内部错误”。
【问题讨论】:
标签: google-bigquery
我正在尝试使用 Google 表格作为 BigQuery 表的数据源。 我的一个数据集包括重复的字段。应如何在 GoogleSheets 中构造数据才能作为重复字段正常工作?
到目前为止,我已经尝试用逗号分隔重复的值。 我在创建表时没有收到错误,但是当我尝试查询数据时,返回的错误是“内部错误”。
【问题讨论】:
标签: google-bigquery
如您所见in the docs,无法在 Google 表格中保存重复字段(只有支持类对象方案的文件才能支持重复字段)。
如果您必须使用 Google 电子表格,我认为您仍然可以通过一些额外处理来解决此问题。
我刚刚在我的 Google Drive 中创建了这个文件作为示例:
并将其加载到名为“test4”的表中,其类型为 STRING:
现在可以使用此 STRING 并拥有您想要的重复字段。一种可能性是这个查询使用了JSON_EXTRACT 函数:
SELECT
SPLIT(REGEXP_REPLACE(JSON_EXTRACT(user, '$.a'), r'\[|\]', ''), ',') a
FROM `your_table`
这会导致再次出现重复字段:
【讨论】: