一、数据去重排序

1.1、去重

  distinct与group by

  尽量避免使用distinct进行排重,特别是大表操作,用group by代替  

-- 不建议
select DISTINCT key from a
-- 建议
select key from a group by key

1.2、排序优化

  只有order by产生的结果是全局有序的,可以根据实际场景进行选择排序。

  1、order by 实现全局排序,一个reduce实现,由于不能并发执行,所以效率偏低

  2、sort by实现部分有序,单个reduce输出的结果是有序的,效率高,通常和distribute by关键字一起使用

    (distribute by 关键字可以指定map到reduce端的分发key)

  3、cluster by col1等价于 distribute by col1 sort by col1但不能指定排序规则

二、数据倾斜

  任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。

  单一reduce的记录数与平均记录数差异过大,通常可能达到30倍甚至更多。最长时长远大于平均时长。

017-Hadoop Hive sql语法详解7-去重排序、数据倾斜的更多相关文章

  1. Hadoop Hive sql语法详解

    Hadoop Hive sql语法详解 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件 ...

  2. [转]Hadoop Hive sql语法详解

    转自 : http://blog.csdn.net/hguisu/article/details/7256833 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式 ...

  3. Hadoop Hive sql 语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询 ...

  4. 【hive】——Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  5. hive sql 语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  6. Hive sql语法详解

      Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQ ...

  7. 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别

    1.Hive不支持等值连接 •SQL中对两表内联可以写成:•select * from dual a,dual b where a.key = b.key;•Hive中应为•select * from ...

  8. 006-Hadoop Hive sql语法详解1-数据结构和Hive表建立

    1.认识hive:  Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表, ...

  9. 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf

    一.基本的Select 操作 语法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE whe ...

随机推荐

  1. 如何下载PDF?

    IIS MIME类型配置: application/octet-stream

  2. Silverlight实例教程 - Validation服务器端异步数据验证(转载)

    摘要:本 篇实例,我们仍旧使用SilverlightValidationDemo项目,为了不和过去的验证方法冲突,这里我们创建一个新的数据成员类 Staff,该类实现INotifyDataErrorI ...

  3. Atitit.atiDataStoreService   v2 新特性

    Atitit.atiDataStoreService   v2 新特性 1.1. V1  基础实现1 1.2. V2  增加了对  $uuid  $cur_uid参数的支持1 1.3. 增加了fld  ...

  4. Spring+SpringMVC+MyBatis+Maven框架整合

    本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...

  5. dos2unix dos文本转换为linux文本 /bin/bas^M:bad interpreter

    第一种方法:dos2unix -f 文本名 第二种方法: 首先:vi 文本名 然后::set ff? 如果出现fileforma=dos那么就确定是linux和windows之间的不完全兼容 :set ...

  6. centos 源码安装apache 之apr、apr-util

    apr 和 apr-util官网下载地址: http://apr.apache.org/download.cgi 安装顺序是先安装apr然后再安装 apr-util,因为安装apr-util需要apr ...

  7. 可以开发着玩一下的web项目

    博客项目:发布博客,写博客 车辆.车队管理系统 教师评价系统 仓储管理系统 进销存管理系统 客户管理系统 结算系统 医院病历管理系统

  8. redis python交互和实际例子

    import redis try: r=redis.StrictRedis(host='localhost',port=6379) except Exception,e: print e.messag ...

  9. C# 6新特性简单总结

    最近在看<C#高级编程 C# 6&.NET Core 1.0>,会做一些读书笔记,也算对知识的总结与沉淀了. 1.静态的using声明 静态的using声明允许调用静态方法时不使用 ...

  10. firefox(火狐)怎么关闭鼠标拖拽搜索

    工具-附加组件-卸载<附加组件管理器> 即可. 这玩意真心坑爹,起这个名字的人绝对是吃屎了,这名字怎么和鼠标拖拽混到一起的 !!!   关键字:火狐:鼠标:鼠标拖拽:鼠标手势:关闭