hive学习
学海无涯2.0
今天菜不可怕,可怕的是明天和今天一样菜
展开
-
hive sum求和时是否考虑正负?是否会正负相抵?
最简单的测试方法select sum(a),sum(b)from( select 1 as a,2 as b union all select 1 as a,-2 as b) t查询结果显示因此,hive sum求和是考虑正负的。原创 2021-10-27 15:19:38 · 1197 阅读 · 0 评论 -
hive查询结果缺少数据——某些union all和join情况下会缺少数据
在使用hive sql 进行union all查询结果时,缺少数据在使用hive sql 进行join 关联时,查询结果明显缺少数据,或于presto或其他查询渠道查询结果不一致时原因可能是orc文件在加工过程中造成的部分元数据丢失,关闭元数据优化就可以了set hive.optimize.index.filter=false;...原创 2021-09-01 10:39:21 · 3662 阅读 · 0 评论 -
shell脚本编写循环hive sql
循环里日期判断if [ $# -eq 1 ]; then n_date=`date -d "$1" +"%Y-%m-%d"`else n_date=`date -d " -1 days" +"%Y-%m-%d"`fit_date=`date -d "${n_date} -6 days" +"%Y-%m-%d"`until [ $t_date == $n_date ]...原创 2019-12-12 16:36:37 · 1667 阅读 · 0 评论 -
join语句里where条件的编写如何避免笛卡儿积的生成
实验表二十万条数据select date,id,name from ajoin b on a.id=b.idwhere a.date='2019-12-05' and b.date='2019-12-05'select date,id,name from ajoin b on a.id=b.idwhere a.date='2019-12-05'` ---运行速度快``第一...原创 2019-12-11 11:08:59 · 809 阅读 · 0 评论 -
HiveSql 日期格式转换
获取当前时间并转换为yyyy-mm-dd的格式select from_unixtime(unix_timestamp(),'yyyy-MM-dd')select from_unixtime(unix_timestamp(),'yyyyMMdd') //这里的MM必须大写yyyymmdd格式转换为yyyy-mm-ddregexp_replace('$n_date','-',"")...原创 2019-12-09 14:32:48 · 5219 阅读 · 0 评论 -
sum() over()求累加数据
使用函数sum() over()函数求累加数据 SELECT dd ,f_capital_no ,sum(t.f_payout_amount) over(partition by f_capital_no order by dd) f_payout_amount ...原创 2019-12-03 14:42:53 · 2529 阅读 · 0 评论 -
case when 使用技巧汇总
作为字段单种情况时使用:case when r.f_status='1' then 1 else '0' end as s_f_status作为字段多种情况时使用:case when f_product_code in('5561','5560','5811','5821','5901','5002','5921') then '公积金' when f_prod...原创 2019-11-20 16:47:41 · 716 阅读 · 0 评论 -
hive配置优化及其详解
hive配置优化及其详解原创 2019-09-26 14:22:32 · 555 阅读 · 0 评论 -
Hive-sql对IFNULL()函数的替换
mysql里的函数:1.LEFT()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。LEFT(Str,length); LEFT(“1234”,2)接收两个参数:str:一个字符串;length:想要截取的长度,是一个正整数;2.IFNULL()函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。...原创 2019-09-20 09:14:46 · 13788 阅读 · 0 评论 -
hive侧视图lateral view和explode用法-简解(列转行)
explode用法select explode(split("010029,010030,1000001,财富_顶部轮播,财富banner,财富货币资金产品,财富快捷,财富-稳健组合楼层,财富-稳健组合楼层头条,财富-稳健组合推荐产品,财富页三图,财富-专业投资楼层,财富-专业投资推荐产品,首页登录banner,首页登录明星,首页登录头条,首页登录推荐产品,首页-浮层广告,首页快捷,首页明星服务...原创 2019-09-05 13:50:34 · 765 阅读 · 0 评论 -
row_number() over()、sum() over()——hive窗口函数用法详解
语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行版权声明:本文为CSDN博主「一彡十」的原创文章,遵循CC 4.0...原创 2019-08-14 15:42:01 · 2467 阅读 · 0 评论 -
巧用union all 优化HiveSql
union的巧妙用法,使用union也可以横向合并sql查询结果原创 2019-04-11 18:27:46 · 1836 阅读 · 0 评论 -
hive-sql查询结果保留两位小数
需求要求保留4位小数,查博客大多是sql用法,但是hive-sql和sql还是有区别的,不知道大家发现没有,hive里有个自动转整的功能,示例sql里SELECT 1.0; 结果是1.0 hive-sql里SELECT 1.0; 结果是1 hive-sql里截取两位小数的语句round(2.456,2) ...原创 2019-04-22 09:58:29 · 61905 阅读 · 10 评论 -
大数据里常用shell命令
hrm -rf 文件名 删除有内容的目录tar -zxf hadoop-2.7.7.tar.gz -C …/modules将文件解压到某目录下rm -rf /root/.local/share/Trash/files 清空回收站source 保存(生效)文件hive里进入mysql数据命令mysql -u root -pliunx环境变量配置失败,命令无效 nano /etc/p...原创 2019-04-22 14:14:49 · 425 阅读 · 0 评论 -
shell脚本求指定日期的昨天,明天,周一,上周一,月一等日期
某日分析师题了个需求,求三个时间段的逻辑指标,昨天的好求,周累计——本周一至昨天的累计指标,如果今天是周一,则求出上周一整周的累计指标,月累计——本月1号至昨天的累计指标,同理如果今天是1号,则求出上月一整月的累计指标。真可谓开发都是被需求逼死的,不多说,经过研究代码如下:if [ $# -eq 1 ]; then n_date=`date -d "$1" +%Y-%m-%d`el...原创 2019-04-23 15:05:07 · 2188 阅读 · 0 评论 -
HiveSQL distinct去重的优化介绍
1.count(distinct)select count(distinct column_name) from table_name where ...对某些字段的去重统计,例:统计用户数量(统计去重的用户ID) count(distinct userId)优化原因:因为引入了DISTINCT,无法在map阶段利用combine对输出结果去重,导致shuffle任务量增大错误解...原创 2019-04-30 10:44:59 · 4119 阅读 · 0 评论 -
Hive新版本工作原理详解——不要在看老版本的工作原理了
Hive的服务端组件1.Driver组件:该组件包括:Compiler、Optimizer、Executor,它可以将Hive编译、解析、优化转化为Map Reduce任务提交给Hadoop中的Source Manager来进行实际的执行相应的任务。2.Meta Store组件:存储着hive的元数据信息,将自己的元数据存储到了关系型数据库中,支持的数据库主要有MySQL、Derby,支持把...原创 2019-05-13 14:46:17 · 814 阅读 · 0 评论 -
记一次写hive-udf历程
package com.gome.dw.udf;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.hadoop.hive.ql.exec.Description;import org.apache.hadoop.hive.ql.exec.UDF;import...原创 2019-05-27 15:26:37 · 391 阅读 · 0 评论 -
hive-sql语句对in和not in的替换
对于hive-sql里的子查询不支持not in或in 的替换假设要求字段id在a表,而不在b表not in 示例select id from awhere id not in (select id from b);hive-sql替换示例select id from aleff outer join b on b.id=a.idwhere b.id is null;hiv...原创 2019-06-18 16:10:54 · 11439 阅读 · 0 评论 -
hive-sql截取汉字、字母和数字等
前几天新接到需求,要求截取字段里的汉字,咋一看挺难,截取字母、数字、特殊字符都简单,但是截取汉字的还是第一次遇见,查到汉字的编码,实验截取,在这里把代码发下,以备有需要的小伙伴使用。hive-sql里的截取汉字代码:regexp_extract(label,'([\\u4E00-\\u9FA5]+)',1) windows下的截取汉字regexp_extract(label,'([\\...原创 2019-04-22 09:43:43 · 16092 阅读 · 1 评论