如何按字符解析配置单元中的数据&

9q78igpj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(389)

数据如下所示:

fsid=4778&awid=5&url=http%3a%2f%2fwww.abcd.com%2f2-03&pfhid=-356847895&event=Login&Incorrect=False
fsid=3478&awid=5&url=http%3a%2f%2fwww.abcd.com%2f2-03&pfhid=-356847895&event=Login&userid=10598&Incorrect=False

我想看看我总共有多少个fsid和多少个userid,很多记录都缺少userid。我正在使用hive,也许这不是最好的方法,如果这是一个平面文本文件,我知道如何在python中实现这一点。谢谢您。

e7arh2l6

e7arh2l61#

使用regexp。

Select sum(case when fsid   is not null then 1 else 0 end) as count_fsid
    ,  sum(case when userid is not null then 1 else 0 end) as count_userid
    from
        (Select regexp_extract(my_string, '.*fsid=(//d*)&.*')   as fsid
              , regexp_extract(my_string, '.*userid=(//d*)&.*') as userid
        from my table
        ) a ;

相关问题