JSON_EXTRACT
kullanarak JSON verilerini bir BigQuery sütunundan ayıkladım. Şimdi değer listelerini ayıklamak ve bunlara karşı toplu işlevler (AVG
gibi) çalıştırmak istiyorum. JsonPath ifadesinin .objects[*].v
test edilmesi, http://jsonpath.curiousconcept.com/ üzerinde başarılı olur. Ama sorgusu:Google BigQuery'de JSON'tan çıkarılan verilere toplu işlevleri nasıl uygularım?
SELECT
JSON_EXTRACT(json_column, "$.id") as id,
AVG(JSON_EXTRACT(json_column, "$.objects[*].v")) as average_value
FROM [tablename]
BigQuery'ye üzerinde JsonPath ayrıştırma hatası atar. BigQuery'de bu mümkün mü? Veya JSON'umdaki veriye karşı toplama işlevlerini çalıştırmak için verilerimi önceden işlemem gerekiyor mu?
My veri şuna benzer:
# Record 1
{
"id": "abc",
"objects": [
{
"id": 1,
"v": 1
},
{
"id": 2,
"v": 3
}
]
}
# Record 2
{
"id": "def",
"objects": [
{
"id": 1,
"v": 2
},
{
"id": 2,
"v": 5
}
]
}
Bu da başka question ilişkilidir.
Güncelleme: sorun iki sorgu çalıştırarak basitleştirilmiş olabilir. Öncelikle JSON_EXTRACT
'u çalıştırın ve sonuçları bir görünüme kaydedin. İkinci olarak, bu görünüme karşı birleştirme işlevini çalıştırın. Ancak o zaman bile JSONPath parse error
'u önlemek için JsonPath ifadesini $.objects[*].v
düzeltmem gerekiyor.
şey: Ayrıca bir alt sorgu içine koymak ve dışarıda AVG koymak/kolay temizleyici olabilir Çalışmıyor gibiyim. –
Özellikle şu adresten bilgi isteyin: * http: http://stackoverflow.com/questions/28719880/bigquery-jsonpath-values-of-json-array –