hive—常用的函数整理

1、size(split(...))函数用于计算分割后字符串数组的长度

1)实例:由客户编号列表计算客户编号个数

sql 复制代码
--数据准备
with tmp_test01 as (
select 'tag074445270' tag_id,'202501'busi_mon , '012399931003,012399931000' index_val
union all
select 'tag074445271' tag_id,'202501'busi_mon , '037100006340,030600050969,030600012604' index_val
union all
select 'tag074445271' tag_id,'202501'busi_mon , '' index_val
)

--计算客户编号个数
select tag_id, busi_mon,index_val,
COALESCE(SUM(case when length(trim(index_val)) >0 then size(split(index_val, ',')) else 0 end ), 0) AS index_val_0, --计算结果
size(split(index_val,",")) DD,  --数组长度
split(index_val,",") SS --字符串分隔情况
from tmp_test01
group by tag_id, busi_mon,index_val

注:1、空字符串处理 ‌:如果分割的字段串是空字符串(例如a=''),size(split(a, ','))的结果为1,因为空字符串被视为一个元素‌;

2、null值处理 ‌:如果分割的字段串是null(例如a is null),size(split(a, ','))的结果为-1

相关推荐
程序猿 董班长3 小时前
springboot配置多数据源(mysql、hive)
hive·spring boot·mysql
XueminXu11 小时前
Hive使用Tez引擎出现OOM的解决方法
hive·oom·tez·datagrip·container·outofmemory
YF云飞12 小时前
数据仓库进化:Agent驱动数智化新范式
数据仓库·人工智能·ai
zzu123zsw18 小时前
01-Hadoop简介与生态系统
hadoop
鸿儒之观18 小时前
hadoop 框架 jar下载
大数据·hadoop·jar
2302_7995257418 小时前
【Hadoop】Hadoop集群安装中出现的问题
linux·hadoop
IT研究室20 小时前
大数据毕业设计选题推荐-基于大数据的分化型甲状腺癌复发数据可视化分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·信息可视化·spark·毕业设计·源码·bigdata
计算机编程小央姐21 小时前
数据安全成焦点:基于Hadoop+Spark的信用卡诈骗分析系统实战教程
大数据·hadoop·python·spark·毕业设计·课程设计·dash
BYSJMG1 天前
大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
大数据·hadoop·python·spark·django·课程设计
项目題供诗2 天前
Hadoop(七)
大数据·hadoop·分布式