[英]Extract data from Complex JSON in Big-query
我有一個看起來像這樣的數據 -
{aa_validation: null
propensity_overlap: {auc pscore overlap: 0.5993614555297898
auc pscore treated: 1.000000000000001
auc pscore control: 1.0000000000000004
auc pscore ROC: 0.7524618788923345}
feature_balance: {% features with post matching SMD < 0.1: 100.0
% features with post matching SMD < 0.25: 100.0
% features with SMD improved after matching: 84.21052631578947
% features with SMD not significantly worsened: 100.0}}
我想使用 Big Query 為這些鍵中的每一個創建一個列,例如我得到這樣的結果 -
auc pscore overlap auc pscore overlap... % features with post matching SMD < 0.1 % features with post matching SMD < 0.25 ....
0.32 1 50.0 50.0
我一直在瘋狂使用 Regex_extract,但似乎無法讓它發揮作用。 誰能幫我用 Bigquery 提取這個?
此 JSON 架構不適合 BigQuery。 您需要更改密鑰才能正確提取它們。
這個鍵,fe,“% features with post matching SMD < 0.1”不適用於 JSON_EXTRACT function,正如您在這里看到的:
使用不同的鍵,然后您將能夠啟動這樣的查詢:
SELECT JSON_EXTRACT(PARSE_JSON(json_field), "$.aa_validation") AS aa_validation,
JSON_EXTRACT(PARSE_JSON(json_field), "$.feature_balance") AS feature_balance,
JSON_EXTRACT(PARSE_JSON(json_field), "$.feature_balance.features_with_smd_improved_after_matching") AS smd_improved_after_matching,
FROM `qwiklabs-gcp-03-5570739e32d7.data.test2`
利用 PARSE_JSON 和 JSON_EXTRACT 結合 JsonPath 查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.