Afl*_*loz 3 sql hadoop hive cloudera impala
我在Hive(SQL)中遇到了大数据问题.
SELECT genre, COUNT(*) AS unique_count
FROM table_name
GROUP BY genre
Run Code Online (Sandbox Code Playgroud)
给出的结果如下:
genre | unique_count
----------------------------------
Romance,Crime,Drama,Law | 1560
Crime,Drama,Law,Romance | 895
Law,Romance,Crime,Drama | 942
Adventure,Action | 3250
Action,Adventure | 910
Run Code Online (Sandbox Code Playgroud)
我想要的是对类型ASC | DESC中的元素进行排序并获得结果
genre | unique_count
----------------------------------
Crime,Drama,Law,Romance | 3397
Action,Adventure | 4160
Run Code Online (Sandbox Code Playgroud)
我可以用Python做到这一点,但我有超过200 Million数据行.我不知道有什么合理的方法可以移动这些数据.那我该怎么做呢?
select concat_ws(',',sort_array(split(genre,','))) as genre
,count(*) as unique_count
from table_name
group by concat_ws(',',sort_array(split(genre,',')))
Run Code Online (Sandbox Code Playgroud)