第四周 大数据学习笔记 2022年第13周

第四周 大数据学习笔记 2022年第13周,第1张

第四周 大数据学习笔记 2022年第13周 排序类窗口函数 ROW_NUMBER():

作用:经常用来去除重复数据

从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序 的值相同时,按照表中记录的顺序进行排列

RANK():

生成数据项在分组中的排名,1.排名相等会在名次中[留下空位],2.排名相等生成的编号也是 相同的。


DENSE_RANK():

生成数据项在分组中的排名,排名相等会在名次中[不会留下空位],2.排名相等生成的 编号也是相同的。


PERCENT_RANK():

(当前排名 - 1)/(总行数 - 1)

CUME_DIST:

小于等于当前值的行数/分组内总行数

行窗口的规则 日志数据分析: 了解了日志里每一条数据的含义:
id BIGINT, -- 编号 

ip STRING, -- ip地址 

ip_num BIGINT, -- ip数字 

ip_1 BIGINT, -- ip的第一位数字 

access_time STRING, -- 访问时间 

url STRING, -- 访问连接**ip****信息提取** 

status STRING, -- 状态码 

traffic STRING, -- 流量 

referer STRING, -- 防盗链信息 

c_info STRING -- 客户端信息 
数据清洗:

通过ROW_NUMBER()函数或者python、java代码实现每行最前面加上一个ID,然后以空格隔开

属性抽取 :

使用正则表达式提取并向临时表插入数据

地域及运营商信息提取 :

思路:将IP通过对照表进行匹配,获取到对应的地域信息。


*** 作:把IP转换为数字然后匹配数字对应的区间就可以了.

区分季度汇总数据:

将月份/3,通过向上取整将其分成4个编号,然后group by即可

区分时间段汇总数据:

①将时间转换成24小时制

②通过if else if来按照对应的要求来划分不同的时间段

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/571692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存