因此,上週我能夠開始將Appengine日誌流式傳輸到BigQuery中,並且現在試圖將一些數據從日誌條目中拉出到表中。正則表達式QueryString針對BigQuery中的特定問題解析
protoPayload.resource中的數據是包含查詢字符串參數請求的頁面。
protoPayload.resource的內容看起來像下面的例子:
/service.html?device_ID=123456
/service.html?v=2&device_ID=78ec9b4a56
我越來越近,但是當有DEVICE_ID前另一個項目,我沒有得到它。正如你可以看到我對Regex不太好,但它是我認爲我可以解析查詢中的數據的唯一方法。爲了從第一個例子中得到設備ID,我可以使用下面的例子。很棒。我的下一個挑戰是第二個參數存在時的數據。設備ID的長度可以在10到26個字符之間變化。
SELECT
RIGHT(Regexp_extract(protoPayload.resource,r'[\?&]([^&]+)'),
length(Regexp_extract(protoPayload.resource,r'[\?&]([^&]+)'))-10) as Device_ID
FROM logs
我想什麼是剛剛從查詢字符串值DEVICE_ID如:
78ec9b4a56
如果有你的protoPayload.resource例如換行還是有實際2個查詢字符串每個記錄? – 2015-02-11 19:01:44