gpt4 book ai didi

hadoop - 在 Hadoop Hive 中解码原始 URL,更喜欢非 Java 解决方案

转载 作者:可可西里 更新时间:2023-11-01 14:42:32 24 4
gpt4 key购买 nike

我正在查询一个配置单元表,该表的字段 out_url 具有原始 url 编码,例如:

http%3A%2F%2Fwww.example.com%2Findex.php%3Fpage%3D260%26id%3D22

我只想提取域,这可以通过`parse_url(out_url, 'HOST') 如果 url 不是原始编码。

为了解决这个问题,我正在做这个丑陋的双正则表达式替换,例如:

parse_url(regexp_replace(regexp_replace(out_url, '%3A', ':'), '%2F', '/'), 'HOST')

%3A 转换为 : 并将 %2F 转换为 / 然后提取域。我知道我可以编写 Java UDF 来执行此操作,但这对我来说不是一个很好的选择,因为我目前主要不擅长编写 Java。

想法?是否可以编写 Python UDF?

最佳答案

这里似乎有一个使用 Java 反射的简单方法:http://mail-archives.apache.org/mod_mbox/hive-user/201109.mbox/%3C15C962F3417BF94ABEAB2314AF92A16A1FF9CE@SVR-PR-MB2.cb.careerbuilder.com%3E

SELECT reflect("java.net.URLDecoder", "decode", field_name) FROM table;

关于hadoop - 在 Hadoop Hive 中解码原始 URL,更喜欢非 Java 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com