首页 > 代码库 > Hive 使用问题记录(未完...)

Hive 使用问题记录(未完...)

group by 中出现的字段不能再select 后面单独显示,必须配合函数使用

select count(a.id)   
from (select id,collect_set(time) as t from t_action_login where time<=20150906 group by id) as a where size(a.t)=1 and a.t[0]=20150906;  

上面中的

select id,collect_set(time) as t from t_action_login where time<=20150906 group by id  

总结:

    1. Hive不允许直接访问非group by字段;
    2. 对于非group by字段,可以用Hive的collect_set函数收集这些字段,返回一个数组;
    3. 使用数字下标,可以直接访问数组中的元素;

 

分区是以文件夹的形式,桶是以文件的形式

关于桶的操作 http://blog.csdn.net/lzm1340458776/article/details/43272379

Hive 使用问题记录(未完...)