分享

hive 提示Only COMPLETE mode supported for row_number function

ananan36 发表于 2015-9-10 10:38:57 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 49316
hive> select row_number() as name from employees;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: Only COMPLETE mode supported for row_number function

已有(4)人评论

跳转到指定楼层
muyannian 发表于 2015-9-10 11:34:12
本帖最后由 muyannian 于 2015-9-10 11:35 编辑

楼主先了解下下面四种model
    /**
     * PARTIAL1: 这个是mapreduce的map阶段:从原始数据到部分数据聚合
     * 将会调用iterate()和terminatePartial()
     */  
    PARTIAL1,  
        /**
     * PARTIAL2: 这个是mapreduce的map端的Combiner阶段,负责在map端合并map的数据::从部分数据聚合到部分数据聚合:
     * 将会调用merge() 和 terminatePartial()  
     */  
    PARTIAL2,  
        /**
     * FINAL: mapreduce的reduce阶段:从部分数据的聚合到完全聚合  
     * 将会调用merge()和terminate()
     */  
    FINAL,  
        /**
     * COMPLETE: 如果出现了这个阶段,表示mapreduce只有map,没有reduce,所以map端就直接出结果了:从原始数据直接到完全聚合
      * 将会调用 iterate()和terminate()
     */  
    COMPLETE  


回复

使用道具 举报

muyannian 发表于 2015-9-10 11:39:25
也就是hive必须只有map,没有reduce,这个才能执行
回复

使用道具 举报

ananan36 发表于 2015-9-10 14:47:05
muyannian 发表于 2015-9-10 11:34
楼主先了解下下面四种model
    /**
     * PARTIAL1: 这个是mapreduce的map阶段:从原始数据到部分数据 ...

select row_number() over() seq,1,2 from log ;这样可以取到,但是reduce 一直99%,有啥优化建议
回复

使用道具 举报

muyannian 发表于 2015-9-10 15:15:05
ananan36 发表于 2015-9-10 14:47
select row_number() over() seq,1,2 from log ;这样可以取到,但是reduce 一直99%,有啥优化建议

最有可能数据倾斜

hive优化----hive使用经验
http://www.aboutyun.com/thread-6047-1-1.html


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条