HIVE SQL lateral view 处理字段

Posted ABCDLEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HIVE SQL lateral view 处理字段相关的知识,希望对你有一定的参考价值。

CUST_ID ST_ENTP_TYPE_CD
101 01,02
102 01

1. 首先把ST_ENTP_TYPE_CD字段炸开

SELECT CUST_ID, ST_ENTP_TYPE
FROM RIDM.XXXXXX
LATERAL VIEW explode (split(ST_ENTP_TYPE_CD, \',\')) tmp AS ST_ENTP_TYPE
WHERE DT=\'20220516\'

2. 把ST_ENTP_TYPE_CD字段替换

SELECT CUST_ID
        , CASE 
        WHEN ST_ENTP_TYPE = \'01\' THEN \'科技型企业\'
        WHEN ST_ENTP_TYPE = \'02\' THEN \'科技型中小企业\'
        END AS ST_ENTP_TYPE 
FROM RIDM.XXXXXX
LATERAL VIEW explode (split(ST_ENTP_TYPE_CD, \',\')) tmp AS ST_ENTP_TYPE
WHERE DT=\'20220516\'

3. 聚合数据

SELECT CUST_ID, CONCAT_WS(\',\', COLLECT_LIST(ST_ENTP_TYPE)) ST_ENTP_TYPE
FROM(
SELECT CUST_I

以上是关于HIVE SQL lateral view 处理字段的主要内容,如果未能解决你的问题,请参考以下文章

Hive扫盲之Lateral View之列为空时候该行元素消失

hive中lateral view json_tuple的用法

[Hive]Lateral View使用指南

Hive学习之Lateral View

Hive:使用没有 LATERAL VIEW 的数组连接表爆炸

hive函数之~hive当中的lateral view 与 explode