大数据之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的主要内容,如果未能解决你的问题,请参考以下文章

配置单元中的 ARRAY_CONTAINS 多个值

大数据技术之_18_大数据离线平台_04_数据分析 + Hive 之 hourly 分析 + 常用 Maven 仓库地址

大数据系列之数据仓库Hive原理

干货|大数据技术之争:PIG对Hive

大数据技术之 Hive (小白入门)

大数据技术之Hive