zoukankan      html  css  js  c++  java
  • hive表查询——排序

    1.全局排序 order by

    使用orderby对全局进行排序的前提是只能有一个reduce。order  by ASC升序,order by DESC降序。

     order by 列别名:按照别名升序排序

     order by 列名1 列名2:先按照列名1的升序排序,如果相等再按照列名2进行排序

     2.局部排序 sort by

    sort by会对每个mapreduce内部进行排序,对全局结果来说并不完全有序。

    使用sort by排序的过程:

    2.1设置reduce的个数

    2.2使用sort by查询语句进行排序

    2.3将查询结果导入文件中

     

     3.分区排序 distribute by

    distribute by将数据进行分区,结合sort by使用对不同分区进行排序

    在使用这个语法前要先设置分区的个数同2.1

     先按照s_id进行分区,再按照s_score进行排序,最后将查询的结果加载到本地

    结果:

     在这个文件中记录的都是id为04的数据,可见distribute by的作用,第三栏是成绩,按照升序排列,可见sort by的作用。

     4.cluster by

    当distribute by的字段与sort by字段相同时可以使用cluster by,但是cluster by的排序只能是倒序,不能指定ASC或者DESC

    以下两种写法等价

  • 相关阅读:
    java微信扫码支付(模式二)
    Python学习08
    学习java第12天
    学习java第11天
    学习java第十天
    学习Java第九天
    学习Java第八天
    学习Java第六天
    学习Java第六天
    学习Java第五天
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/13581122.html
Copyright © 2011-2022 走看看