我有一个包含url列的表。我想从每条记录中查询特定的url param值。 url param可以出现在url数据的任何位置,url可以包含hashbangs,这个param可以包含特殊字符,如 - ,_和|。
数据表栏:
http://www.url.com?like=hobby&name=tom-_green
http://www.url.com?name=bob|ghost&like=hobby
我希望查询结果为
作者Srini
TOM-_green
鲍勃|鬼
我尝试过像
这样的查询选择regexp_extract(url,'(?< = name =)[^&?] *(?: | $&)',2)作为名称 来自table_name
运行此查询时,我看到了java异常。例外是非常模糊的,并检查是否有人可以提供帮助。
答案 0 :(得分:-1)
我找到了另一个专门处理URL的Hive实现。
选择parse_url(网址,' QUERY','名称')作为名称来自table_name,这有效:)
ref:parse_url(string urlString,string partToExtract [,string keyToExtract])
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF