大数据之Hive:array_contains
Posted 浊酒南街
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之Hive:array_contains相关的知识,希望对你有一定的参考价值。
1.array_contains简介
Hive中的array_contains函数与SQL中的 in关键字 操作类似,用于判定 包含(array_contains)或不包含(!array_contains)关系。与 in不同的是array_contains可以用于判断一张表中同一个id的多条记录中的同一字段是否包含指定的一个或多个值。需要注意字段类型保持一致,若不一致则需要进行强制类型转换。
2.需求
统计当天访问主页和商品详情页的次数(人数)
select
'2021-03-20' dt,
sum(if(array_contains(pages,'home'),1,0)) home_count,
sum(if(array_contains(pages,'good_detail'),1,0)) good_detail_count
from
(
select
mid_id,
collect_set(page_id) pages
from dwd_page_log
where dt='2021-03-20'
and page_id in ('home','good_detail')
group by mid_id
)tmp
以上是关于大数据之Hive:array_contains的主要内容,如果未能解决你的问题,请参考以下文章
大数据技术之_18_大数据离线平台_04_数据分析 + Hive 之 hourly 分析 + 常用 Maven 仓库地址