首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除域名后缀的Hive命令

删除域名后缀的Hive命令
EN

Stack Overflow用户
提问于 2015-01-28 13:32:43
回答 1查看 660关注 0票数 0

我希望能够从蜂窝表中的域名中删除后缀。因为后缀有多种类型(.co.uk,.com,.ac.uk,.)我想知道什么是最好的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-28 18:01:02

这听起来像是你想隔离域名的最后两部分,这可以用regexp_extract来完成。使用您发布的部分数据作为具体示例:

代码语言:javascript
复制
hive> DESCRIBE dns_data;
OK
fullname                    string                              
Time taken: 0.871 seconds, Fetched: 1 row(s)
hive> SELECT * FROM dns_data;
OK
a632.phobos.apple.com
a1554.phobos.apple.com
a1207.phobos.apple.com
a1877.phobos.apple.com
lnll.googlevideo.com
a8-19.clients.cdn13.com
r6---sn-aigllnzk.googlevideo.com
r1---sn-cg07lues.googlevideo.com
r4---sn-aiglln6k.googlevideo.com
r18---sn-aigllnel.googlevideo.com
r11---sn-aigllnly.googlevideo.com
r20---sn-aigllnsk.googlevideo.com
r2---sn-aigllnee.googlevideo.com
r14---sn-aigllnld.googlevideo.com
r19---sn-aigllnll.googlevideo.com
r14---sn-aigllnsd.googlevideo.com
Time taken: 0.589 seconds, Fetched: 16 row(s)

可以以以下方式使用regexp_extract来隔离最后两个字符串:

代码语言:javascript
复制
hive> SELECT
    >   stripped,
    >   suffix,
    >   split(suffix, "\\.") AS suffix_split
    > FROM (SELECT
    >   regexp_extract(fullname, "^(.*?)\\.((?:[^.]+\\.?){2})$", 1) AS stripped,
    >   regexp_extract(fullname, "^(.*?)\\.((?:[^.]+\\.?){2})$", 2) AS suffix   
    > FROM dns_data
    > ) t;
...
... Lots of MapReduce spam
...
OK
a632.phobos apple.com       ["apple","com"]
a1554.phobos        apple.com       ["apple","com"]
a1207.phobos        apple.com       ["apple","com"]
a1877.phobos        apple.com       ["apple","com"]
lnll        googlevideo.com ["googlevideo","com"]
a8-19.clients       cdn13.com       ["cdn13","com"]
r6---sn-aigllnzk    googlevideo.com ["googlevideo","com"]
r1---sn-cg07lues    googlevideo.com ["googlevideo","com"]
r4---sn-aiglln6k    googlevideo.com ["googlevideo","com"]
r18---sn-aigllnel   googlevideo.com ["googlevideo","com"]
r11---sn-aigllnly   googlevideo.com ["googlevideo","com"]
r20---sn-aigllnsk   googlevideo.com ["googlevideo","com"]
r2---sn-aigllnee    googlevideo.com ["googlevideo","com"]
r14---sn-aigllnld   googlevideo.com ["googlevideo","com"]
r19---sn-aigllnll   googlevideo.com ["googlevideo","com"]
r14---sn-aigllnsd   googlevideo.com ["googlevideo","com"]
Time taken: 22.073 seconds, Fetched: 16 row(s)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28193560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档