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

相关推荐
神奇侠202414 小时前
Hive SQL常见操作
hive·hadoop·sql
SelectDB技术团队17 小时前
从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
大数据·数据仓库·clickhouse·kylin·实时分析
itachi-uchiha20 小时前
Docker部署Hive大数据组件
大数据·hive·docker
viperrrrrrrrrr721 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习
Leo.yuan1 天前
API是什么意思?如何实现开放API?
大数据·运维·数据仓库·人工智能·信息可视化
qq_408413391 天前
spark 执行 hive sql数据丢失
hive·sql·spark
TDengine (老段)1 天前
TDengine 替换 Hadoop,彻底解决数据丢失问题 !
大数据·数据库·hadoop·物联网·时序数据库·tdengine·涛思数据
workflower1 天前
量子比特实现方式
数据仓库·服务发现·需求分析·量子计算·软件需求
yt948322 天前
如何在IDE中通过Spark操作Hive
ide·hive·spark
青春之我_XP2 天前
【基于阿里云搭建数据仓库(离线)】Data Studio创建资源与函数
大数据·数据仓库·sql·dataworks·maxcompute·data studio