網址,我有以下結構的網址:單獨縮短蜂房
https://pinball.globalzone.com/en_US/home?tic=1-dj33jl-dj33jl&goToRegisterNow=true
我想現在要做的就是縮短的URL能夠組和計數類似的URL模式。例如,我想刪除https://
,區域en_US/
和標記?tic=1-dj33jl-dj33jl
,同時保留其餘部分。結果應如下所示:
pinball.globalzone.com/home&goToRegisterNow=true
我試圖做到這一點通過使用regexp_extract
但這種方法只允許我提取特定的部件,它們總是在相同的位置。
更大的問題是我想要裁剪的部分是單獨的/基於規則(即語言環境總是包含兩個小寫字母和兩個大寫字母,由下劃線分隔)或唯一且沒有保證長度(即令牌)。此外,我的結果集還將包含具有不同模式的URL,其中我只想要剪切現有部分(例如https://pinball.globalzone.com/en_US/forgottenPassword
,其中只有en_US/
必須剪掉)。
如果我必須快速解決問題,我只需要獲取URL並編寫一些Java或R代碼,以便將獲取的URL拆分爲多個部分,並在數組中迭代,同時刪除不需要的所有部分。不過,我想知道是否有更優雅的方式直接從Hive中獲得此結果。
是令牌總是第一個參數? – ClasG
並且不應該在第二個示例中刪除https://? – ClasG
是的,'tic ='總是標識該標記。第二個示例代表切割任何內容之前的基本URL。但是,「https://」也需要刪除。 – jd1338