我有這樣一個查詢,在標準SQL:的BigQuery - 上查詢數據集的模式可選字段
SELECT record.field1, record.field2
FROM dataset.*
WHERE record.field2 == 'something'
,但我的一些表不會對這種模式field2
。
我真的收到這個錯誤:
Field name field2 does not exist in STRUCT field at ... [17:34]
任何人都知道我怎樣才能查詢放一些可選子句時,場中模式的存在是爲了評估僅?
1)如果你期望這發生在純粹的BQ SQL中 - 這是不可行的,因此您可以使用[BigQuery問題跟蹤器](http://code.google.com/p/google-bigquery/)發佈功能請求2)同時您可以編寫簡單的代碼在您選擇的客戶端中讀取數據集中表的模式,並採取一致行動(但看起來不是您想要的 - 請參閱上一個項目符號)3)btw - '=='在BQ SQL中不適用 - >你應該使用'='; –
是的......我正在構建這個查詢來計算一些常規指標,因此使用API編寫一些代碼不是我的第一選擇。如果沒有FR,我會打開一個。謝謝,米哈伊爾! –
我認爲有潛在的相關FR可以幫助您的方案 - 有能力將通用對象傳遞到UDF(模板) - 您可以嘗試在問題跟蹤器中搜索它。如果我沒有錯 - 它是由@ElliottBrossard前段時間基於SO –