网站首页 > 文章精选 正文
最近来访标签案例:
1.最近一次来访距今天天数:
最近一次来访距今天数从用户的访问日志表(ods.page_view_log)中抽取,脚本执行如下:
从日志访问表中抽取,这样会产生一张表:user_cookie_relation 用户cookie关系表
基于cookie id 和 最近访问的日期进行排序,每个cookie id 只拿取它最近一次访问的时间。
怎么样操作的?每个cookie id 只收取他最近一次访问的时间。
解释:row_number() over (paritition by cookie_id order by last_visit_time desc)
基于cookie_id 做分区,在分区中,根据最近访问时间做降序排序
解释:row_number() over (paritition by cookie_id order by last_visit_time desc)
基于cookie_id 做分区,在分区中,根据最近访问时间做降序排序
将上一步注册到视图的数据插入cookie 的用户标签表中,执行如下脚本:
ACTION_C_02_001 : 最近天数 (labelid)
userid :用户的cookie id
labelweight: 距今的天数
labelid: ACTION_C_02_1
插入表 dw.userprofile_action_all (行为属性维度表,按照分区插入-- 分区基于 日期,距今天数(labelid = action_c_02_001) 进行分区)
源表:
从 user_cookie_relation :上一步产生的表
选择列信息:
- labelid(Action_c_02_001):标签
- cookieid: cookieid 信息
- labelweight:该cookie距今访问最近的天数
datediff(to_date("data_date"),concat(substr(last_date,1,4),'-',substr(last_date,5,2),'-',substr(last_date,7,2))) as labelweight
1.日期比较函数: datediff
语法: datediff(string enddate,string startdate)
返回值: int
说明: 返回结束日期减去开始日期的天数。
举例:
hive> select datediff(‘2019-07-02’,‘2019-07-01’);
结果:
1
2. to_date:日期时间转日期函数
select to_date('2015-04-02 13:34:12');
输出:2015-04-02
3. concat() 的内容:
语法: CONCAT(string A, string B…)
返回值: string
说明:返回输入字符串连接后的结果,支持任意个输入字符串
举例:
Hive> select concat(‘abc’,'def’,'gh’) from lxw_dual;
abcdefgh
4. 检查日期函数
语法: substr(string A, int start, int len),substring(string A, intstart, int len),用法一样,三个参数
返回值: string
说明:返回字符串A从start位置开始,长度为len的字符串
猜你喜欢
- 2025-07-01 linkedin/coral 代码速读(download linkedin)
- 2025-07-01 携程酒店推荐模型优化(携程酒店推荐逻辑)
- 2025-07-01 总结面试:SQL常见面试题-1(sql面试常考)
- 2025-07-01 一场pandas与SQL的巅峰大战(四)(pandas.io.sql)
- 2025-07-01 一场pandas与SQL的巅峰大战(五)(sql和pandas谁更快)
- 2025-07-01 3000字解说数据仓库的拉链表(数据拉链处理什么意思)
- 2025-07-01 HBase 初探:架构 + 原理 + 对比 + 实践
- 2025-07-01 数据仓库工具方法-维度表同步 mysql表结构同步到Hive
- 2025-07-01 SQL实用技巧-行列转换(sql中的行转列)
- 08-02分布式事务:SpringCloud 项目中的一致性密码解锁
- 08-02raft 协议简介
- 08-02超融合介绍-SmartX
- 08-02分布式事务:如何保证多个系统间的数据一致性
- 08-02分布式事务详解、理论分析、及强一致性(2PC、3PC)剖析
- 08-02分布式事务
- 08-02什么是分布式文件存储系统 ?
- 08-02Paxos 协议
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)