写写日常在使用Hive SQL做分析时经常使用的一些函数或者方法
select uid from dw.today where tunittype like '%wew.%'
select uid from dw.today where tunittype rlike '.*(you|me).*'
点号(.):表示和任意字符串匹配,星号(*):表示重复“左边的字符串”,(x|y)表示和x或者y匹配
select uid from dw.today where not tunittype like '%wew.%'
工作中,需要查询某个区间的用户量,这个时候就需要对时间做处理,以便快速搞定
SELECT DISTINCT FROM_UNIXTIME(60*10*CAST(UNIX_TIMESTAMP("2017-11-11 13:23:23")/(60*10) AS BIGINT), 'yyyy-MM-dd HH:mm:ss')
FROM test_table
总结:一个小时60分钟,一分钟60秒,按照时间单位的秒来转化为相应的区间
语法形式:
row_number() over (partition by 字段 a order by 计算项 b desc ) rank
rank 排序的名称;partition by:类似 hive 的建表,分区的意思;order by :排序,默认是升序,加 desc 降序;这里按字段 a 分区,对计算项 b 进行降序排序
SELECT from_unixtime(unix_timestamp())
cast() 函数将字符串转换为整数、双精度浮点数或执行反向转换
可参考这个博客:https://blog.csdn.net/xiaoshunzi111/article/details/54343291/
没错,在机器学习中给数据打标签过程最常用到的sql语句,主要用于处理单个列的查询结果
create table if not exists dw.huodong_uid_label as
select uid,
CASE
WHEN action=0 THEN 0
ELSE 1
END AS label from zhangxiang.huodong_action_0_2
未完待续。。。。。。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。