Hive行转列过程中使用LATERAL VIEW遇到空MAP或者空数组的情况

本文探讨了在Hive中行转列操作时遇到空MAP或空数组导致数据丢失的问题。通过在查询中加入特定关键字,可以确保包含空数据,使结果符合预期。解决方案包括对NULL值进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

HIve在进行行转列的过程中,如果遇到转的数组或者MAP()的情况,会出现一种特殊情况,就是数据会消失:

原数据: 

   SELECT

            '1' AS id,

            MAP() AS purchase_info

        UNION ALL

        SELECT

            '2' AS id,

            MAP() AS purchase_info

        UNION ALL

        SELECT

            '3' AS id,

            str_to_map('2019-11-28:100,2019-11-27:1') AS purchase_info

        UNION ALL

        SELECT

            '3' AS id,

            str_to_map('2019-11-28:200,2019-11-27:2') AS purchase_info

    ) all LATERAL VIEW OUTER EXPLODE(purchase_in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值