0
これは私が例えば私の外部表JSONserdeのJSON配列から兄弟の値にアクセスするには?
CREATE EXTERNAL TABLE raw_marketing_other.facebook_ad_cost_dtl_hrly (
...
linkClick : int
pageEngagement : int
...
)
の特定の列に各action_type
の値をマッピングしたい
...
"actions": [
{
"action_type": "link_click",
"value": "1"
},
{
"action_type": "page_engagement",
"value": "1"
},
{
"action_type": "post_engagement",
"value": "1"
},
.....
]
}
...
、linkClick
列があります私のJSONある を考えますそのjsonオブジェクトから派生した1
の値。
質問 これはserdePropertiesのマッピングで可能ですか?このようなもの。
create table ...
...
ROW FORMAT serde 'org.openx.data.jsonserde.JsonSerDe'
WITH serdeproperties(
"mapping.linkClick" = "actions[action_type="link_click].value",
...
注:アクション[ACTION_TYPEが= "link_click]" は、その条件にJSONオブジェクトの最初の発生を返すことを意味しますか?
カスタムマッピングでは不可能な場合は、代替ソリューションがありますか?
参考文献: https://github.com/rcongiu/Hive-JSON-Serde
、JSONの場合{アクション:{ "ABC": "123"}}。 "mapping.linkClick" = "actions.abc"を実行してserdePropertiesを使用できますか? – Eternalcode