hive求数组的长度
时间: 2023-11-07 08:50:41 浏览: 225
在Hive中,要求一个数组的长度可以使用函数size()来实现。然而,在某些情况下,当数组中的元素为空时,使用size()函数可能会出现问题。为了解决这个问题,可以使用if语句来判断数组是否为空,然后根据情况返回相应的值。例如,可以使用以下语句来计算数组的长度:
select rg, sum(if(length(p_9)==0, 0, size(split(p_9, ",")))) from ttengine_api_data where dt='2017-08-07' group by rg;
这个查询语句中,使用了if语句来判断数组p_9是否为空。如果为空,则返回0,否则使用size(split(p_9, ","))来计算数组的长度。通过这种方式,可以正确地计算数组的长度。\[3\]
#### 引用[.reference_title]
- *1* [Hive获取array数组长度](https://blog.csdn.net/qq_31573519/article/details/77542756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [hive size计算数组长度的一个坑](https://blog.csdn.net/liuxiao723846/article/details/76977365)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文