• 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

    以下两种写法等价

  • 相关阅读:
    AVR单片机教程——PWM调光
    AVR单片机教程——蜂鸣器
    AVR单片机教程——串口接收
    做个别出心裁的圣诞礼物
    电源选择电路的原理
    AVR单片机教程——串口发送
    C++类成员默认初始值
    AVR单片机教程——旋转编码器
    10.Django-form表单
    09.Django-数据库优化
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/13581122.html
Copyright © 2020-2023  润新知