hive
熊猫姐姐90
和花小可爱
展开
-
union 和 union all的区别
union 和 union all的区别原创 2022-11-04 11:04:37 · 312 阅读 · 0 评论 -
SQL调优
SQL调优原创 2022-11-04 10:57:39 · 71 阅读 · 0 评论 -
hive中日期和字符串的转换
hive中日期和字符串之间的转换原创 2022-08-23 10:46:32 · 4955 阅读 · 0 评论 -
hive中的空值处理函数 nvl、 nvl2、if、 coalesce
hive中的空值处理函数原创 2022-06-27 10:20:34 · 3575 阅读 · 0 评论 -
hive中行转列
hive数据统计原创 2022-06-21 18:13:59 · 3773 阅读 · 0 评论 -
用户连续登录天数hive
用户连续登录天数hive统计原创 2022-06-13 18:24:45 · 548 阅读 · 0 评论 -
SQL查询条件巧用
sql查询条件中直接写boole类型的字段,而不标注要查询的是哪部分数据,默认查询的为true的数据consent_status 为布尔类型,true代表用户已授权,false代表为访客select * from mid_user_channel where consent_status;查询出来的数据全部为已授权用户...原创 2021-12-28 10:37:06 · 575 阅读 · 0 评论 -
hive中字段长度
获取字段长度 length()获取数组长度 size()原创 2021-11-30 10:58:11 · 3389 阅读 · 0 评论 -
hive中将文本拆分为键值对str_to_map()
str_to_map(字符串参数, 分隔符1, 分隔符2)分隔符1将文本分成K-V对,分隔符2分割每个K-V对。对于分隔符1默认分隔符是',',对于分隔符2默认分隔符是'='。举例user_id tag_value 1 62@2021-11-28 2 92@2021-11-28#93@2021-11-29 3 98@2001-1-17 select user_id,str_to_map(tag_value,'#',"@') as tag from t..原创 2021-11-29 13:54:30 · 1318 阅读 · 0 评论 -
hive ----获取json字符串中指定字段名的值
id info 1 {"con_id":"105","doctor_id":"134"} 2 {"con_id":"107","status":"True"} select get_json_object(info,'$.con_id') from test运行结果:info 105 107原创 2021-11-23 18:17:16 · 1567 阅读 · 0 评论 -
hive常用函数
nvl() 函数nvl(score,0) 判断score的值是否为空,如果为空则为0,0为默认值,否则为score本身split()函数split(skin_code,'\ /') 对skin_code切割字符串skin_code '1_ABCD/3_ABCD/5_ABCD' '6_ABCD/5_ABCD/3_ABCD' 执行函数split(skin_code,'\ /')skin_code [1_ABCD,3_ABCD,5_ABCD] [6_ABCD,5_ABC原创 2021-10-13 15:25:29 · 231 阅读 · 0 评论 -
hive调优----查询条件
数据处理中,不怕数据量大,就怕数据倾斜1、慎重使用count(distinct col)distinct会将col列所有数据保存在内存中,形成一个类似hash的结构,速度很快;但是在大数据背景下,因为col列所有值都会形成以key值,极有可能发生OOM(内存用完)解决方案:可以考虑使用Group By 或者 ROW_NUMBER() OVER(PARTITION BY col)方式代替COUNT(DISTINCT col)...原创 2021-09-13 09:58:44 · 321 阅读 · 0 评论 -
hive 调优----参数
1、分区设置hive.exec.dynamic.partition = False设置 True 表示开启动态分区功能。hive.exec.dynamic.partition.mode = strict ;设置成 nonstrict 表示允许所有分区都是动态的。hive.exec.max.dynamic.partitions.pernode = 100 ;每个mapper 或reducer 可以创建的最大动态分区个数。如果每个mapper或reducer 尝试创建大于这个原创 2021-08-31 11:55:00 · 732 阅读 · 0 评论 -
HIVE中,order by、sort by、 distribute by, cluster by区别和意义
1. oreder by 主要做全局排序 只要hive的sql中指定了order by,那么所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block,只会启动一个reducer )。但是对于大量数据这将会消耗很长的时间去执行。 这里跟传统的sql还有一点区别:如果指定了hive.mapred.mode=strict(默认值是nonstrict),这时就必须指定limit来限制输出条数。因为:所有的数据都会在同一个reducer端进行,数...原创 2021-08-30 18:26:09 · 498 阅读 · 0 评论