在SQL中规范化FQDN(域名)

时间:2014-03-20 21:50:02

标签: sql regex hive hiveql

我需要在Hive中规范化域名(FQDN)。

具体来说,我想:

  1. 剥离前导的所有数字部分(可能使用pub):123.pub456.678.example.com - > example.com
  2. 删除尾随端口号(不要问它是如何到达的):example.com:80 - > example.com
  3. 到目前为止,我想出了

    regexp_replace(domain, '^((pub)?[0-9]+\\.)*|:[0-9]+$', '') as canonical
    

    似乎做了我期望的事情。

    然而,有时它比我想要的更多一点:

    1. 990.ro - > ro
    2. 411.com - > com
    3. 988.com.my - > com.my
    4. 10.6.10.140:8827 - > 140
    5. 我不太关心最后一个案例(我实际上很乐意丢弃所有的IP地址),但我宁愿不丢失有效的域名(前3个案例)。

0 个答案:

没有答案