我正在尝试使用以下方法从 Hive 中的 URL 中提取 URL Query 参数。
SELECT split(cid.key, '%3d') [1] AS connectionID
FROM omni
LATERAL VIEW explode(str_to_map(parse_url(omni.full_url, 'QUERY'), '&', '=') ) queryparams
LATERAL VIEW explode(str_to_map(queryparams.value, '%2')) cid
WHERE queryparams.key = 'tag'
AND split(cid.key, '%3d') [0] = 'cid'
我需要从 URL 中提取cid的值到同一行的新列中。但是,我重复了多行(可能是笛卡尔积?)例如,一行 CID 重复了 3-4 行。我是横向视图的新手,对我做错的任何帮助表示赞赏!
URL 模式如下所示:
https://www.***********ize?response_type=id_token&client_id=******&redirect_uri=*******l/in/228467e4-d9b6-4b04-8a11-45e1cc9f786d&scope=openid&code_challenge=E9M***********JSstw-cM&code_challenge_method=S256&tag=cid%3***********8-e94f97d20ab9%2caid%3d************a-4fb1-b6e5-c65650428a83&state=aHR*****************Z2luT3JSZWdpc3Rlcg%3d%3d#features_section