
hive
文章平均质量分 55
石小秀1995
微信公众号:女朋友教我写代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HiveSQL case when or
错误不要图简单把多数值写在一个括号里select imei,(case when description like ('%华为%' or '%HUAWEI%' or '%vivo%' or '%oppo%' or '%iphone%' or '%SAMSUNG%' or '%三星 N%' or '%三星 S%' or '%一加%' or '%oneplus%' or '%Galaxy%' or '%荣耀%' or '%魅 族%' or '%MEIZU%' or '%SONY%') then 'pu原创 2020-06-24 10:36:03 · 2479 阅读 · 1 评论 -
连续活跃的用户
题目1现在有一张用户活跃全量表,列有id,活跃日期(全部),分区如何求得最大连续活跃天数的IDway1with t1 as (select id,row_number() over(partition by id order by lastactivetime asc) as ranks,lastactivetime from table)select id,ate_sub(lastactivetime,ranks) as difftime,min(lastactiveimte) as m原创 2020-05-28 16:29:28 · 391 阅读 · 0 评论 -
SQL数据准备-桑吉图
长短视频流入流出计算之前写了好久都写错了没有数据。。。-- app流入流出的定义:app1在[-32,-16]活跃 >= 1次,app2不活跃;app1在[-15,0]不活跃 ,app2活跃 >= 2次-- 上半月活跃-- 一个imei对应多个appwith period_table1 as (selectimeimd5,appname,apppackage,tag,active_countsfrom (select appname,apppackage,tagfrom m原创 2020-05-20 15:32:02 · 720 阅读 · 0 评论 -
数据分析面试真题 - 开窗函数
文章目录写入数据题目正确????错误????正确????写入数据题目普通的group by开窗函数 - count()错误❌1错误❌2错误❌3正确写入数据create table staffTable( department varchar(20) not null, name varchar(20),salary bigint)ENGINE=InnoDB DEFAULT CHARSET=utf8;...原创 2020-02-26 21:49:29 · 1339 阅读 · 0 评论 -
窗口函数&开窗函数
文章目录创建数据语法rank排序例1例2rank,dense_rank与row_number例3创建数据#建立商品create table goodsTable( id varchar(20) not null, name varchar(20),type varchar(20),price int)ENGINE=InnoDB DEFAULT CHARSET=utf8;# 插入...原创 2020-02-26 15:50:36 · 2486 阅读 · 0 评论 -
Hive SQL变量设置
set test = NULL;-- Attention: 外边加了字符串索引select count('${hiveconf:test}') ;_c01set test = NULL;select count(${hiveconf:test}) ;Failset hivevar:test= 793;select count(${test}) ;1set hivevar...原创 2020-02-11 18:18:30 · 11108 阅读 · 2 评论 -
count null
select count(null) ;0原创 2020-02-10 18:37:25 · 707 阅读 · 0 评论 -
流失用户
http://dp.pt.xiaomi.com/task/213505742月:http://dp.pt.xiaomi.com/task/21350080 → http://dp.pt.xiaomi.com/task/213507263月:http://dp.pt.xiaomi.com/task/21350087 → http://dp.pt.xiaomi.com/task/21350728...原创 2019-07-22 12:58:19 · 222 阅读 · 0 评论 -
HiveQL调优
group by会进行一次map reduce,因此不要group by和distinct一起写。会很浪费时间。hive工场运行的时候,可以看到map reduce了多少个stage,如果十几个了说明性能写的有问题子查询:http://dp.pt.xiaomi.com/task/21674302 没有用自查询,run了一天也没有结果,被工场分给很少的资源http://dp.pt.x...原创 2019-08-02 18:19:22 · 240 阅读 · 0 评论 -
SQL三表join
active验证:http://dp.pt.xiaomi.com/task/21574839 9,230,735 http://dp.pt.xiaomi.com/task/21574888 10,119,123 inner_tablehttp://dp.pt.xiaomi.com/task/21574839 t1 inner join t2 on t1.id = t2.id le...原创 2019-07-30 13:06:47 · 2231 阅读 · 0 评论 -
python+SQL group by后排序取最大值/最小值
取根据时间最小值的行# 这样得到的不是按照ts最小排序的第一行数据# grouped=data.groupby(['t1.date','t1.imei','address']).head(1) #43626行grouped=data.groupby(['t1.date','t1.imei']).apply(lambda t: t[t.ts==t.ts.min()])grouped.hea...原创 2019-07-01 20:20:22 · 3244 阅读 · 0 评论 -
HiveSQL union,去join
unionhttp://dp.pt.xiaomi.com/task/21487884简化一下,分母去掉BIhttp://dp.pt.xiaomi.com/task/21488111再简化一下,去掉joinhttp://dp.pt.xiaomi.com/task/21488315原创 2019-07-26 16:10:09 · 429 阅读 · 0 评论 -
HiveQL 正则转义符号
|http://dp.pt.xiaomi.com/task/21676133http://dp.pt.xiaomi.com/task/21676292正则:竖线需要转义才可以作为split的参数:http://dp.pt.xiaomi.com/task/21676398test:http://dp.pt.xiaomi.com/task/21676414[]...原创 2019-08-06 20:22:47 · 1064 阅读 · 0 评论 -
row_number函数
select id, brand,firstactivetime,row_number() over (partition by id order by firstactivetime desc) as rankfrom profile.device_state_accumulator_allwhere date = 20190731and activetags &1 = 1an...原创 2019-08-14 16:20:35 · 497 阅读 · 0 评论 -
HiveQl: SemanticException Cannot do equality join on different types: string and struct
select t1.date as date,imei from(select date,aaid from tracking.analytics_usagev2 alateral view json_tuple(a.value, "B","H") v1 as B,Hlateral view json_tuple('H','aaid') v2 as aaidwhere date >=...原创 2019-08-15 16:26:40 · 1735 阅读 · 1 评论 -
SQL列转行
行转列SELECT ProgrectName, 'OverseaSupply' AS Supplier, MAX(OverseaSupply) AS 'SupplyNum' -- 可以写max,也可以写mean,min,因为都是一样的FROM ProgrectDetail GROUP BY ProgrectName UNION ALL SELECT Progre...原创 2019-08-28 17:15:41 · 324 阅读 · 0 评论 -
SQL重复值排序的区别
最后,来对比一下rank()、dense_rank()、row_number()这三者之间的区别:rank ():如图1dense_rank(): 如图2row_number():如图3当排序过程当中出现重复相同值的时候,这三者的区别显而易见~~...原创 2019-08-28 21:32:36 · 1045 阅读 · 0 评论 -
Hive时间函数
本月第一天select date_sub(current_date,dayofmonth(current_date)-1)2019-04-01本月第2天select date_sub(current_date,dayofmonth(current_date)-2)2019-04-02上月最后一天select date_sub(current_date,dayofmonth...原创 2019-04-10 20:59:04 · 4614 阅读 · 0 评论