【发布时间】:2017-05-18 19:17:26
【问题描述】:
我有一个具有此架构的 BigQuery 表:
|- actorEmail: string (required)
|- actorCallerType: string (required)
+- baseOUs: record (repeated)
| |- baseOU: string
|- time: timestamp (required)
|- uniquequalifier: integer (required)
|- ipAddress: string (required)
|- EventType: string (required)
|- EventName: string (required)
+- parameter: record (repeated)
| |- name: string
| |- value: string
我想用这个查询创建一个视图:
SELECT actorEmail,actorCallerType,time,uniquequalifier,ipAddress,EventType,EventName,parameter
FROM <table>
WHERE baseOUs CONTAINS "/US"
这不起作用,因为您无法查询多条记录(尽管有一种解决方法)。但是,使用解决方法,它会使我不想发生的参数字段变平。
一般的想法是视图应该包含除了重复字段'baseOUs'之外的所有字段,只显示baseOUs中带有“/US”的记录,并且它不会展平参数字段。有了这样的视图,我可以将 ACL 应用到新视图,并仅授予美国用户对数据的访问权限,对每个在此表中有数据的国家/地区都授予访问权限。
根据this article,这可以通过 API 使用 flattenResults=false 属性来实现。但是,我想在 UI 中以视图的形式执行此操作,而不是通过 API。
还遇到了this article,它描述了如何在重复字段中进行查询,但没有显示如何以非扁平化的方式将它们呈现为视图。我正在尝试做的事情是否可能?
【问题讨论】:
标签: sql google-bigquery google-cloud-platform