当前位置: 首页 > wzjs >正文

大连电子学校网站建设免费的云电脑

大连电子学校网站建设,免费的云电脑,网站须知,专业模板网站制作价格Hive查询之排序 文章目录 Hive查询之排序写在前面Hive查询之排序全局排序(Order By)按照别名排序多个列排序每个Reduce内部排序(Sort By)分区(Distribute By)Cluster By 写在前面 Linux版本:Ce…

Hive查询之排序


文章目录

  • Hive查询之排序
    • 写在前面
    • Hive查询之排序
      • 全局排序(Order By)
      • 按照别名排序
      • 多个列排序
      • 每个Reduce内部排序(Sort By)
      • 分区(Distribute By)
      • Cluster By


写在前面

  • Linux版本:CentOS7.5
  • Hive版本:Hive-3.1.2

Hive查询之排序

全局排序(Order By)

Order By:是 全局排序,只有 一个 Reducer
(1)使用 ORDER BY 子句排序

  • ASC(ascend): 升序(默认)

  • DESC(descend): 降序

(2)ORDER BY 子句在SELECT语句的结尾

(3)案例实操

  • 查询员工信息按工资升序排列
hive (default)> select * from emp order by sal;
  • 查询员工信息按工资降序排列
hive (default)> select * from emp order by sal desc;

按照别名排序

按照员工薪水的2倍排序

hive (default)> select ename, sal*2 twosal from emp order by twosal;

多个列排序

按照部门和工资联合字段进行升序排序

hive (default)> select ename, deptno, sal from emp order by deptno, sal ;

每个Reduce内部排序(Sort By)

  • Sort By:对于大规模的数据集order by的效率非常低。在很多情况下,并不需要全局排序,此时可以使用sort by。
  • Sort by为每个reducer产生一个排序文件。每个Reducer内部进行排序,对全局结果集来说不是排序。

设置reduce的个数

hive (default)> set mapreduce.job.reduces=3;

查看设置reduce的个数

hive (default)> set mapreduce.job.reduces;

根据部门编号降序查看员工的信息

hive (default)> select * from emp sort by deptno desc;

将查询的结果导入到文件中(按照部门编号降序排序)

hive (default)> insert overwrite local directory '/opt/module/hive/datas/sortby-result'select * from emp sort by deptno desc;

分区(Distribute By)

Distribute By: 在有些情况下,我们需要控制某个特定行应该到哪个reducer,通常是为了进行后续的聚集操作。distribute by 子句可以做这件事。distribute by类似MR中partition(自定义分区),进行分区,结合sort by使用。

对于distribute by进行测试,一定要分配 多reduce 进行处理,否则无法看到distribute by的效果。

案例实操:

  • 先按照部门编号分区,再按照员工编号降序排序。
hive (default)> set mapreduce.job.reduces=3;
hive (default)> insert overwrite local directory '/opt/module/hive/datas/distribute-result' select * from emp distribute by deptno sort by empno desc;

注意:

  • distribute by的分区规则是根据分区字段的hash码与reduce的个数进行模除后,余数相同的分到一个区。
  • Hive要求DISTRIBUTE BY语句要写在SORT BY语句之前。

Cluster By

distribute bysort by 字段相同时,可以使用 cluster by 方式。

同时,我们要知道:cluster by除了具有distribute by的功能外还兼具sort by的功能。但是排序只能是升序排序,不能指定排序规则为ASC或者DESC。

以下两种写法等价

hive (default)> select * from emp cluster by deptno;
hive (default)> select * from emp distribute by deptno sort by deptno;

注意:按照部门编号分区,不一定就是固定死的数值,可以是20号和30号部门分到一个分区里面去。

全文结束!!!


文章转载自:

http://EAHoIxEt.nyhtf.cn
http://tHbu9hQz.nyhtf.cn
http://1cO4oN8F.nyhtf.cn
http://NP464bdh.nyhtf.cn
http://MZVjWdGf.nyhtf.cn
http://Y9Mow0OZ.nyhtf.cn
http://ZzV4CVgt.nyhtf.cn
http://wPa4bLvW.nyhtf.cn
http://KPVTYk7C.nyhtf.cn
http://UIkrtR8N.nyhtf.cn
http://zyXfXDmL.nyhtf.cn
http://SUUKJ1O3.nyhtf.cn
http://DHhOSH2Q.nyhtf.cn
http://pNxagOP8.nyhtf.cn
http://G05i0ENK.nyhtf.cn
http://ijtnD0Ey.nyhtf.cn
http://F9P9DAzk.nyhtf.cn
http://a6rOeqWP.nyhtf.cn
http://lWpcmEOi.nyhtf.cn
http://C8W75OyZ.nyhtf.cn
http://WK0NzEDW.nyhtf.cn
http://2SObCT3X.nyhtf.cn
http://8BEqvBi8.nyhtf.cn
http://kDEATsiD.nyhtf.cn
http://3QXB1sX0.nyhtf.cn
http://3GCwMO3P.nyhtf.cn
http://dz3eFU02.nyhtf.cn
http://0iqIYtNo.nyhtf.cn
http://gDiONI9j.nyhtf.cn
http://BQcxSlFu.nyhtf.cn
http://www.dtcms.com/wzjs/626033.html

相关文章:

  • 牡丹江0453免费信息网站前端开发包括哪些内容
  • 免费公司介绍网站怎么做济南高新区网站建设公司
  • 手机网站前四川煤矿基本建设工程公司网站
  • 网站建设app开发 微信小程序 网站开发 自动脚本如何查询百度搜索关键词排名
  • 书城网站建设项目定义seo内部优化方式包括
  • 设计个网站需要怎么做武清网站开发tjniu
  • 重庆市建设领域农民工工资专户网站上海建设学院网站
  • 网站建设创业规划书广州网站制作公司多少钱
  • 新网站制作怎么样江苏建设通网站
  • 吉林省住房和城乡建设厅网站6机械加工制造网
  • 沧县网站建设泰安专业网站建设
  • 网站开发的阶段流程图给网站做数据分析
  • ps手机网站制作山西长治一企业
  • 杭州网站建设费用网站建设教程百度网盘
  • 做养生网站需要什么资质高级软件开发培训
  • 网站html优化大鹏新网站建设
  • 网站建设 商城网站搭建是哪个岗位做的事儿
  • 网站建设规划结构网站建设图片编辑
  • 资讯网站如何做聚合网站建设在淘宝怎么分类
  • 163手机移动网站网站开发的推荐
  • 长治网站建设哪家好辽阳网站建设公司
  • 国家住房和城乡建设局网站拼团手机网站开发
  • 网站建设荣茂企业宣传手册封面模板
  • WordPress找不到站点武当王也高清壁纸
  • 舒兰网站建设养老保险网站
  • 上海市建设工程安全质量监督总站网站深圳企业网站制作设计
  • 绵阳网站建设联系电话263企业邮箱注册申请
  • 网站建设的费用是多少钱梅州在建工程
  • 南通外贸网站制作泉州网页建站模板
  • 建立网站图片山东网站建设的方案