gpt4 book ai didi

HIVE:如何在横向 View 爆炸中包含空行

转载 作者:行者123 更新时间:2023-12-03 03:29:05 34 4
gpt4 key购买 nike

我有一个表格如下:

user_id email
u1 e1, e2
u2 null

我的目标是将其转换为以下格式:

user_id email
u1 e1
u1 e2
u2 null

因此,为此我使用 Hive 中的横向 View explode() 函数,如下所示:

select *  FROM  table
LATERAL VIEW explode (split(email ,',')) email AS email_id

但是这样做 u2 行将被跳过,因为它在电子邮件中具有空值。我们如何在输出中也包含空值?

编辑:我正在使用一种解决方法将此表与基表进行并集而不爆炸,但我认为因此将再次扫描数据。我想知道是否有更好的方法。

最佳答案

在查询中包含 OUTER 以获取具有 NULL 值的行

类似的东西,

select *  FROM table LATERAL VIEW OUTER explode (  split (  email  ,','  ) ) email AS email_id;

检查此链接 -> https://cwiki.apache.org/confluence/display/Hive/LanguageManual+LateralView#LanguageManualLateralView-OuterLateralViews

关于HIVE:如何在横向 View 爆炸中包含空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40715815/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com