
Hive
极客阿宝
这个作者很懒,什么都没留下…
展开
-
hive 月/季/年天数,动态汇总最近3天数据
1. 计算季度的天数select trunc(ref_date,'Q') q_date -- 季度第一天,max(ref_date) max_date -- 季度最后一天(若没过完,就取截止到今天的天数),(datediff(max(ref_date),trunc(ref_date,'Q'))+1) sum_day --季度天数from tableAgroup by trunc(ref_date,'Q')2.计算最近3天数据(动态)select ref_date原创 2021-12-01 15:37:34 · 4946 阅读 · 0 评论 -
coalesce,nvl,ifnull的用法
coalesce语法:coalesce (expr_1, expr_2, …,expr_n),遇到非NULL值返回,如果没有非NULL值出现返回NULLnvl语法:NVL(expr_1, expr_2),如果expr_1为NULL,则返回expr_2,否则返回expr_1ifnull语法:ifnull(expr_1, expr_2),如果expr_1为NULL,则返回expr_2,否则返回expr_1原文链接:https://blog.youkuaiyun.com/weixin_40267121/artic转载 2021-10-21 12:13:32 · 230 阅读 · 0 评论 -
hive ,ClickHouse 当月数据,T-1
where t.paydate >=trunc(add_months(date_sub(current_date,1),0),‘MM’) and t.paydate< current_date–当月数据,数据更新为T-1,所以要用t-1的日期原创 2021-08-20 14:59:26 · 1043 阅读 · 0 评论 -
Hive 面试必考点
曾经有一位HR让我学会了Hive再找ta , 于是我每天花12小时恶补hive知识7天后,我靠这9页知识点涨薪80%,分享如下:一、DDL数据定义1.加载数据load data local inpath ‘路径’ into table 表名2.重命名表alter table 旧表名 rename 新表名3.实操(1)查询表结构desc 表名(2)添加列alter table 表名 add 列名(3)查询表结构desc 表名(4)更新列alter table 表名 col原创 2021-04-27 10:38:58 · 339 阅读 · 0 评论 -
clickhouse指南:
clickhouse指南:https://clickhouse.tech/docs/zh/sql-reference/functions/date-time-functions/原创 2020-10-20 10:16:42 · 130 阅读 · 0 评论 -
日期加减,取范围
1.日期比较函数: datediff语法: datediff(string enddate,string startdate)返回值: int说明: 返回结束日期减去开始日期的天数。select datediff('2020-12-30','2020-12-29');--12.日期增加函数: date_add语法: date_add(string startdate, intdays)返回值: string说明: 返回开始日期startdate增加days天后的日期。hive>se原创 2020-10-20 09:34:46 · 540 阅读 · 0 评论 -
Hive 数据更新时间
Hive 数据更新时间 from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') as loaddate原创 2020-09-23 11:24:06 · 2121 阅读 · 0 评论 -
distribute by rand() 使得hdfs文件切分得更加均衡
SparkSql 控制输出文件数量且大小均匀(distribute by rand())减少数据倾斜原创 2020-07-29 10:34:52 · 5039 阅读 · 0 评论 -
Hive程序相关规范
一、开发规范1.单条SQL长度不宜超过一屏2.SQL子查询嵌套不宜超过3层3.少用或者不用hint4.若有多处逻辑一致的代码,可以将执行结果存储到临时表中5.尽可能使用SQL自带高级命令做操作,例如:在多维统计分析中使用cube,grouping sets 和rollup等命令去代替多个SQL子句的union all6.使用set属性,进行配置命令的更改,要有注释;7.代码里不允许包含对表/分区/列的DDL语句,出了新增和删除分区。Hive SQL更加适合处理多条数据组合的数据集,不适合处理原创 2020-07-17 12:58:06 · 1144 阅读 · 0 评论 -
count(列) / count(*) / count(1)行计数聚合
count(1)和count(*)类似count(1) 包括了所有的列,相当于行数,在统计结果的时候,不会忽略NULLcount(1) 会统计表中的所有的记录数,不会忽略NULL, 包含字段为null 的记录。count(列名) 会统计该列字段在表中出现的次数,会忽略字段为null 的情况,即不统计字段为null 的记录。从效率上看,count(列名) > count(1) > count(1)...原创 2020-07-17 11:15:38 · 186 阅读 · 0 评论 -
高级分组聚合cube,rollup
select a,b,sum(c) from table group by a,b with cube;select a,b,sum(c) from table group by a,b with rollup;cube,rollup两者都可以在一个group by语句中完成多个分组聚合,它们都可以用grouping sets来表达。cube会计算group by中指定列的所有组合rollup会按照group by 指定的列从左到右进行下转 ()会下转到a,用(null,a)表示,简化表示原创 2020-07-17 10:42:55 · 225 阅读 · 0 评论 -
高级分组聚合grouping set 等价于group by+union all
grouping set与group by配合使用可更加灵活的对结果集进行分组,Grouping sets会对各个层级进行汇总,然后将各个层级的汇总值union all在一起,比单纯的group by + union all 效率要高举个栗子drop table employee;CREATE temporary TABLE employee( name String, gender String, city String, depart原创 2020-07-16 10:47:05 · 1400 阅读 · 0 评论 -
【Hive】NVL函数
NVL(expr1, expr2):1、空值转换函数;2、类似于mysql-nullif(expr1, expr2),sqlserver-ifnull(expr1, expr2)。备注:1、如果expr1为NULL,返回值为 expr2,否则返回expr1。2、适用于数字型、字符型和日期型,但是 expr1和expr2的数据类型必须为同类型。...转载 2020-06-09 17:17:36 · 615 阅读 · 0 评论 -
文本中的特殊字符处理 \t\r\n用 regexp_replace
问题: 特殊字符导致数据与字段错位原因: 字符串包含了换行符解决办法:把换行符替换成空格,regexp_replace(text, '\n|\t|\r', '')原创 2020-06-04 14:10:51 · 2124 阅读 · 0 评论 -
行列转列 SQL 中的group_concat 与hive中的concat_ws
行转列,group_concatmysql实现:select A,GROUP_CONCAT(B)from tablegroup by A;行转列,concat_wshive实现转换:SELECT A,concat_ws(’,’, collect_set(B))FROM tableGROUP BY B;原创 2020-05-09 16:01:04 · 231 阅读 · 0 评论 -
Hive面试题1
1.Hive数据倾斜问题倾斜原因:1)key分布不均匀2)业务数据本身的特性3)SQL语句造成数据倾斜解决方案:1)参数调节:①开启 Map 端聚合参数设置hive.map.aggr=true当选项设定为true,生成的查询计划会有两个MR Job.相同的 Group By Key 有可能被分发到不同的 Reduce 中,从而达到负载均衡的目的;②开启MapJoin参数设置S...原创 2020-04-05 21:18:38 · 301 阅读 · 0 评论 -
Hive实战之京东
一、 按照日期累积访问次数我们有如下的用户访问数据userIdvisitDatevisitCountu012017/1/215u022017/1/236u032017/1/228u042017/1/203u012017/1/236u012017/2/218u022017/1/236u012017/2/...原创 2020-04-05 18:00:10 · 488 阅读 · 1 评论 -
Hive 实战之谷粒影音
1. 需求描述统计硅谷影音视频网站的常规指标,各种 TopN 指标:统计视频观看数 Top10统计视频类别热度 Top10统计视频观看数 Top20 所属类别以及类别包含的 Top20 的视频个数统计视频观看数 Top50 所关联视频的所属类别 Rank统计上传视频最多的用户 Top10 以及他们上传的观看次数在前 20 视频统计每个类别中的视频热度 Top101.1数据结构...原创 2020-04-03 18:43:26 · 831 阅读 · 2 评论