小编Dil*_*lla的帖子

HIVE:如何在侧视图中包含空行爆炸

我有一张表如下:

user_id email
u1      e1, e2
u2      null
Run Code Online (Sandbox Code Playgroud)

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

user_id email
u1      e1
u1      e2
u2      null
Run Code Online (Sandbox Code Playgroud)

所以为此我在Hive中使用侧视图explode()函数,如下所示:

select *  FROM table LATERAL VIEW explode (  split (  email  ,','  ) ) email AS email_id 
Run Code Online (Sandbox Code Playgroud)

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

编辑:我正在使用一个解决方法来执行此表与基表的联合而不会爆炸,但我认为由于这个原因,数据将再次被扫描.我想知道是否有更好的方法来做到这一点.

hive hiveql

7
推荐指数
1
解决办法
3975
查看次数

HIVE:计数不同的窗口函数会引发错误

我试图在 hive 中使用不同的窗口函数计数,但出现错误。

使用的查询如下:

select user,   dt, count(distinct dt) over(partition by user) as dates
FROM  table 
Run Code Online (Sandbox Code Playgroud)

它引发以下错误:

FAILED: SemanticException [Error 10025]: Line 1:123 Expression not in GROUP BY key 'user'
Run Code Online (Sandbox Code Playgroud)

我想我正在使用 hive语言手册中指定的语法

我到底做错了什么?

hadoop hive hiveql

3
推荐指数
1
解决办法
6292
查看次数

标签 统计

hive ×2

hiveql ×2

hadoop ×1