HQL原理及优化

HQL是数据分析过程中的必备技能,随着数据量增加,这一技能越来越重要,熟练应用的同时会带来效率的问题,动辄十几亿的数据量如果处理不完善的话有可能导致一个作业运行几个小时,更严重的还有可能因占用过多资源而引发生产问题,所以HQL优化就变得非常重要,本文我们就深入HQL的原理中,探索HQL优化的方法和逻辑。

group by的计算原理

代码为:

SELECT uid, SUM(COUNT) FROM logs GROUP BY uid;

可以看到,group by本身不是全局变量,任务会被分到各个map中进行分组,然后再在reduce中聚合。

默认设置了hive.map.aggr=true,所以会在mapper端先group by一次,最后再把结果merge起来,为了减少reducer处理的数据量。注意看explain的mode是不一样的。mapper是hash,reducer是mergepartial。如果把hive.map.aggr=false,那将groupby放到reducer才做,他的mode是complete。

优化点:

Group by主要是面对数据倾斜的问题。<

数据分析工具篇——HQL原理及函数逻辑相关推荐

  1. hive substr函数_数据分析工具篇——HQL函数及逻辑

    本篇文章我们梳理一下hive常用的函数,对于hive而言,常用的函数并不是特别多,往往记住关键几个,就可以解决80%的问题,这也是大家喜欢hive的原因,那么,常用的函数有哪些呢? 时间函数 1)时间 ...

  2. 谁说菜鸟不会数据分析python篇下载_谁说菜鸟不会数据分析(工具篇) 张文霖 中文PDF影印版[36.4MB]...

    谁说菜鸟不会数据分析(工具篇)张文霖 中文PDF影印版[36.4MB] 作者: 张文霖 等 图书分类: 软件 资源格式: PDF 版本: 影印版 出版社: 电子工业出版社 书号: 9787121204 ...

  3. 数据分析工具篇pyspark应用详解——Pyspark实现PCA主成分

    pyspark不是所有的代码都在spark环境应用,可以将一些主要的运算单元切到spark环境运算完成,然后输出运算结果到本地,最后在本地运行一些简单的数据处理逻辑. pyspark主要的功能为: 1 ...

  4. 百度App性能优化工具篇 - Thor原理及实践

    01 背景 App开发过程中,如果遇到一些疑难问题或者性能问题(如低端机卡顿),由于没法拿到更多系统的有效信息很难有效定位.这时,Hook不失为一种好的解决方案,Hook技术是在程序运行的过程中,动态 ...

  5. 数据分析工具篇---Excel

    数据导入 1.文本导入:数据-文本-语言-格式调整-Tab-分隔符(选择)-设置格式-完成 2.数据库导入:Access-数据透视表 3.网站导入:网站-网址粘贴–选择导入数据(黄色+)-鼠标右键-刷 ...

  6. 数据分析工具篇——数据读写

    数据分析的本质是为了解决问题,以逻辑梳理为主,分析人员会将大部分精力集中在问题拆解.思路透视上面,技术上的消耗总希望越少越好,而且分析的过程往往存在比较频繁的沟通交互,几乎没有时间百度技术细节. 因此 ...

  7. stat函数_数据分析工具入门 掌握这些Excel函数就够了

          1.什么是函数 可以把函数理解为一个可以控制的黑箱子,输入X到黑箱子中,他就会输出Y,参数就是黑箱子的控制开关,打到不同的档位,黑箱子会输出不同的Y.       2.常见函数分类 文本清 ...

  8. 谁说菜鸟不会数据分析(工具篇)

    <谁说菜鸟不会数据分析(工具篇)> 基本信息 作者: 张文霖 狄松 林凤琼 出版社:电子工业出版社 ISBN:9787121204098 上架时间:2013-6-14 出版日期:2013 ...

  9. 产品读书《谁说菜鸟不会数据分析(工具篇)》

    系列二:谁说菜鸟不会数据分析(工具篇) PPT查看1 .PPT查看2 第一章 : 高效处理数据 查询语法: SELECT 字段1,字段2,字段3 FROM 表 WHERE 条件1 AND 条件2 AN ...

最新文章

  1. Swift中依赖注入的解耦策略
  2. 用C语言解“混合类型数据格式化输出”题
  3. 使用自连接、for xml path('')和stuff合并显示多行数据到一行中(转)
  4. VTK:vtkBillboardTextActor3D用法实战
  5. 《终身成长》读书笔记(part2)--失败从一种行为,转变为一种身份
  6. 计算机硬件基础知识微盘,第1章 电脑硬件基础知识.pdf
  7. 可能是 Python 中最火的第三方开源测试框架 pytest
  8. 排序算法 - 快速排序(java)
  9. Apache CXF 入门第一个示例
  10. MySQL数据库基础理论
  11. 微信小程序tabbar消失_微信小程序tabbar不显示解决办法
  12. 在金融等重要行业的计算机系统中 通常采用,货币金融学题库
  13. C语言任意输入三个数构成三角形,随便输入三个数,看能否组成一个三角形
  14. 书单 | 无所不能的Python,从技术到办公,总有一款适合你!
  15. UIP和lwip的区别
  16. hr 0x800401f0 尚未调用 CoInitialize
  17. matlab上机题库,matlab上机模拟试题
  18. Tableau 表计算函数
  19. 1974年图灵奖--唐纳德·克努特简介
  20. 机械一体化有包含计算机专业吗,机电一体化专业有哪些优势?

热门文章

  1. 【渝粤教育】广东开放大学 土地力学与地基基础 形成性考核 (32)
  2. 物联网安全有哪些注意事项
  3. excel数据命令导入mysql_如何将EXCEL数据导入MYSQL
  4. 最小生成树、最短路径树
  5. python快速示例_Python编程入门-基本示例,快速,上,手,基础
  6. java wrap方法_Java WritableCellFormat.setWrap方法代码示例
  7. (3.2)HarmonyOS鸿蒙双击事件
  8. java ee 下载 安装配置_JavaEE下载安装及配置.doc
  9. typora.io使用教程
  10. [Swift]LeetCode1147. 段式回文 | Longest Chunked Palindrome Decomposition