【发布时间】:2013-02-22 11:55:21
【问题描述】:
我有以下架构数据集,我想将其转换为可以导出到 SQL 的表。我正在使用HIVE。输入如下
call_id,stat1,stat2,stat3
1,a,b,c,
2,x,y,z,
3,d,e,f,
1,j,k,l,
输出表需要有call_id 作为它的主键,所以它需要是唯一的。输出架构应该是
call_id,stat2,stat3,
1,b,c, or (1,k,l)
2,y,z,
3,e,f,
问题是当我在HIVE 查询中使用关键字DISTINCT 时,DISTINCT 适用于所有组合的列。我只想将 DISTINCT 操作应用于call_id。有点像
SELECT DISTINCT(call_id), stat2,stat3 from intable;
但是这在HIVE 中无效(我也不精通 SQL)。
唯一合法的查询似乎是
SELECT DISTINCT call_id, stat2,stat3 from intable;
但这会返回具有相同call_id 的多行,因为其他列不同并且整个行是不同的。
注意:a、b、c、x、y、z 等之间没有算术关系。因此任何求平均或求和的技巧都是不可行的。
有什么想法可以做到这一点吗?
【问题讨论】:
标签: select hadoop distinct hive