我有一个如下表格:
user_id email
u1 e1, e2
u2 null
我的目标是将其转换为以下格式:
user_id email
u1 e1
u1 e2
u2 null
所以我在Hive中使用lateral view explode()函数,如下所示:
select * FROM table
LATERAL VIEW explode (split(email ,',')) email AS email_id
但是这样做会跳过u2行,因为它的电子邮件属性值为空。我们如何在输出结果中包含空值?
编辑:我正在使用一种解决方法,将此表与不带explode的基础表进行联合,但我认为由于这个原因数据将再次被扫描。我想知道是否有更好的方法来处理。