我需要在Hive中规范化域名(FQDN)。
具体来说,我想:
pub
):123.pub456.678.example.com
- > example.com
example.com:80
- > example.com
到目前为止,我想出了
regexp_replace(domain, '^((pub)?[0-9]+\\.)*|:[0-9]+$', '') as canonical
似乎做了我期望的事情。
然而,有时它比我想要的更多一点:
990.ro
- > ro
411.com
- > com
988.com.my
- > com.my
10.6.10.140:8827
- > 140
我不太关心最后一个案例(我实际上很乐意丢弃所有的IP地址),但我宁愿不丢失有效的域名(前3个案例)。