zoukankan      html  css  js  c++  java
  • 044 HIVE中的几种排序

    1、order by:全局排序

      select * from emp order by sal;

      对于一个reduce才有用。



    2、sort by:对于每个reduce进行排序
      set mapreduce.job.reduces=3;

      这里设置了reduce为3。

      

      原本的结果放在控制台上,看的效果不是太清楚,所以将hive的结果到出到本文件。
      insert overwrite local directory '/opt/datas/emp_sort'  row format delimited fields terminated by ' ' select * from emp sort by sal;

      

      结果:

      

    3、distribute by :底层就是mapreduce 的分区,一般与sort by连用

      先按照deptno进行分区,然后sort by每个reduce。
      insert overwrite local directory '/opt/datas/emp_dis' row format delimited fields terminated by ' ' select * from emp distribute by deptno sort by sal;

      

    4、cluster by:等价于distribute by 与sort by的字段相同时

      分区与排序都是一个字段,可以使用这个。

      应该说,这个是上面的一种特殊情况,我感觉可能会用的少一些。

      insert overwrite local directory '/opt/datas/emp_cls'  row format delimited fields terminated by ' '  select * from emp cluster by sal;

      

  • 相关阅读:
    Java子类与父类的初始化
    悠哈牛奶糖为什么有五种味道单独装的,而不是混合装的
    C++ TinyXml操作(含源码下载)
    动物园海洋馆
    冰上行走
    Tmux : GNU Screen 的替代品
    考虑使用jruby
    关于一些展现的框架
    python抓取google搜索url
    pythonwebkit
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6028409.html
Copyright © 2011-2022 走看看