【发布时间】:2017-04-04 14:11:04
【问题描述】:
我有一张如下表:
user_id email
u1 e1, e2
u2 null
我的目标是将其转换为以下格式:
user_id email
u1 e1
u1 e2
u2 null
所以为此我在Hive中使用了横向视图explode()函数,如下:
select * FROM table
LATERAL VIEW explode (split(email ,',')) email AS email_id
但是这样做会跳过 u2 行,因为它在电子邮件中具有空值。我们如何在输出中也包含空值?
编辑:我正在使用一种解决方法将此表与基表合并而不爆炸,但我认为数据将因此被再次扫描一次。我想知道是否有更好的方法。
【问题讨论】: