使用 Google 表格作为具有重复字段的 BigQuery 数据源
Posted
技术标签:
【中文标题】使用 Google 表格作为具有重复字段的 BigQuery 数据源【英文标题】:Using Google Sheets as a BigQuery data source with Repeated Fields 【发布时间】:2017-07-31 10:36:47 【问题描述】:我正在尝试使用 Google 表格作为 BigQuery 表的数据源。 我的一个数据集包括重复的字段。应如何在 GoogleSheets 中构造数据才能作为重复字段正常工作?
到目前为止,我已经尝试用逗号分隔重复的值。 我在创建表时没有收到错误,但是当我尝试查询数据时,返回的错误是“内部错误”。
【问题讨论】:
【参考方案1】:如您所见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`
这会导致再次出现重复字段:
【讨论】:
以上是关于使用 Google 表格作为具有重复字段的 BigQuery 数据源的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Google 表格中的二维数组通过 Apps 脚本插入 Big Query?