[英]What is a "path_expression" in BigQuery
BigQuery 在语法页面中描述了一个path_expression
,如下所示:
路径表达式描述了如何在对象图中导航到 object,并且通常遵循此结构...
例子:
foo.bar foo.bar/25 foo/bar:25 foo/bar/25-31 /foo/bar /25/foo/bar
具有有效表的路径表达式的一些实际示例是什么,例如在 CTE 中? 我的想法是路径表达式将是明确限定字段或结构子字段的内容,例如:
myTable.myField.mySubfield
但是从上面的语法来看,它允许:
/:-
我不确定它是什么或如何使用它。 有人可以展示一个如何使用路径表达式的真实示例吗?
路径表达式描述了在哪里搜索(或存储)数据。 考虑这个例子:
#legacySQL
SELECT
weight_pounds, state, year, gestation_weeks
FROM
[bigquery-public-data:samples.natality]
ORDER BY
weight_pounds DESC
LIMIT
10;
在此示例中,部分[bigquery-public-data:samples.natality]
是path_expression
。 据说要查看natality
bigquery-public-data
项目中samples
数据库中的出生表。
但是从上面的语法来看,它允许:
/:-
这实际上是不允许的,作为path_expression
。
此示例将被解析为:
/:-
{first_part}/{subsequent_part}:{subsequent_part}
{{ unquoted_identifier | quoted_identifier }} /
{{ unquoted_identifier | quoted_identifier | number }} :
{{ unquoted_identifier | quoted_identifier | number }}
unquoted_identifier
必须至少以字母或下划线开头。 一个quoted_identifier
可以包含任何字符,但不能为空。 因此,空字符串不能被视为unquoted_identifier
、 quoted_identifier
或number
,因此该表达式无效(并且在 3 个位置无效)。
一个可能的最小path_expression
可能类似于:
a:b.c
意思是在a
项目的b
数据库中查看c
表。
我可能是错的,但我认为您将Path Expression
(如参考文档中定义的那样)与(例如)JSONPath 之类的东西混淆了。
在我看来,前者只是为了在文档中有一致的参考而引入的术语,而后来(显然)是 JSON 的查询语言,类似于 Z3501BB093D363810B671EDF8Z9 的 XPath 的查询语言。
因此,如果您要求使用 JSONPath 之类的东西 - 我敢打赌您会得到一些使用示例,但询问Path Expression use
并没有太多机会收集答案,即使有大量的赏金,因为它仅在该文档中使用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.