[英]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.