【发布时间】:2020-07-25 16:34:16
【问题描述】:
我正在使用 HiveQL 处理存储在 HDFS 中的数百万行域名文本数据。下面是一个手工选择的子集来说明词汇多样性。有重复的条目。
dnsvm.mgmtsubnet.mgmtvcn.oraclevcn.com.
mgmtsubnet.mgmtvcn.oraclevcn.com.
asdf.mgmtvcn.oraclevcn.com.
dnsvm.mgmtsubnet.mgmtvcn.oraclevcn.com.
localhost.
a.localhost.
img.pulsemgr.com.
36.136.154.156.in-addr.arpa.
accounts.spotify.com.
_dmarc.ixia-devops.com.
&eventtype=close&reason=4&duration=35.
&eventtype=close&reason=3&duration=10336.
我试图根据域的最后两个级别计算行数,有时第二级不存在(即localhost.)。例如:
domain_root count
oraclevcn.com. 4
localhost. 1
a.localhost. 1
pulsemgr.com. 1
in-addr.arpa. 1
spotify.com. 1
ixia-devops.com 1
很高兴也能看到如何过滤掉没有第二级的域。
我不知道从哪里开始。我见过SPLIT() 函数的使用,但这可能并不可靠,因为域名可能有多个级别,例如:a.b.c.d.e.f.g.h.i 等。
任何想法都是实现的。
【问题讨论】: