HQL使用lateral view 处理字段(工作实战)
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_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' ) GROUP BY CUST_ID
最终结果:
#hadoop##sql#
Hadoop数据仓库 文章被收录于专栏
Hadoop数据仓库是建立在Hadoop生态系统基础上的大数据存储和处理解决方案。它可以用于将结构化、半结构化和非结构化的数据集中存储,并提供高性能的数据查询、分析和数据处理功能。