作用:经常用来去除重复数据
从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序 的值相同时,按照表中记录的顺序进行排列
RANK():生成数据项在分组中的排名,1.排名相等会在名次中[留下空位],2.排名相等生成的编号也是 相同的。
生成数据项在分组中的排名,排名相等会在名次中[不会留下空位],2.排名相等生成的 编号也是相同的。
(当前排名 - 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来按照对应的要求来划分不同的时间段
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)