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

HIVE大数据平台SQL优化分享

相信很多小伙伴在面试的时候,必然跳不过去的一个问题就是SQL脚本的优化,这是很多面试官爱问的问题,也是可以证明你实力进阶的一个重要的能力。

下面给大家分享一个重量级的大数据行业sql技能---hive大数据平台SQL优化。

此文章是大数据平台运维组从多维度参数(CPU,内存,运行时长等)筛选出TOP任务,联合数据开发人员进行优化,最终出具优化方案优化跑批作业的业务逻辑,SQL逻辑等,并跟进方案落地和报告整理。

此文章从优化介绍,优化场景,案例实战三个方面循序渐进讲解。

一,优化介绍

1,大数据平台SQL优化的背景,以及采取的措施

2,优化效果概述

这个效果还是蛮理想的,也说明了在项目中sql优化是一项重要的技能之一,也是一个大数据开发人员进阶必备技能。

3,版本信息与名词

在分享SQL优化之前,先了解一下部分名词的含义。

二,优化场景

1,主要的优化场景

1.1,多余分区冗余计算

解决方法:

1.2,历史静态数据重复计算

解决方法>步骤1:优化前把历史结果表落地,再计算出新增结果表

解决方法>步骤2:把新增结果表数据合并进入历史结果表。

---注意,这里为什么不能直接(历史结果表)union all (新增结果表)来合并呢??

因为是要更新变化数据,不是简单的把数据合并,这个主要看不同的业务需求了。

优化总结:

1.3,多作业相同逻辑重复执行

解决方法:

1.4,老系统数据无效计算

解决方法:

1.5,单个sql计算复杂程度过高

解决方法:

code1异常是个重要的且基础的知识点!!!

1.6,规避使用 * 号查询

简单来说,就是要用什么字段就写什么字段,不用的,别多写。这个就是列裁剪。

1.7,相同逻辑冗余计算

解决方法:

优化前后对比:

1.8,单表多次关联冗余计算

解决方法:

1.9,筛选后置导致无用计算

解决方法:

1.10,group by 代替 distinct

1.11,单个字段重复清洗、过滤额、转化

解决方法:

1.12,作业更新及清理下线

2,优化场景总结

三,业务案例实战

1,业务实战案例1

2,业务实战案例2 

今天这篇文章就分享到这里,欢迎大家提出宝贵建议和意见。

http://www.lryc.cn/news/349224.html

相关文章:

  • JS算法-十大排序算法(上)
  • c++编程(11)——string类的模拟实现
  • Python从0到POC编写--函数
  • 【教程】Linux/Jetson 安装X11VNC同步屏幕内容
  • 【LLM第五篇】名词解释:prompt
  • k8s v1.20二进制部署 部署 CNI 网络组件 部署 Calico
  • 在React中利用Postman测试代码获取数据
  • 嵌入式学习-通用定时器
  • 培训行业有哪些ai工具?
  • 7.STL中string的一些超常用函数 (附习题)
  • GPT搜索鸽了!改升级GPT-4
  • 数字绘画教学实训解决方案
  • C#之如何判断数据类型
  • 算法学习笔记(Tarjan)
  • 一台linux通过另一台linux访问互联网-TinyProxy
  • 探索数据结构:堆的具体实现与应用
  • 网络2--MAC地址,IP地址的理解
  • 类型的转换
  • memset函数
  • Java面向对象——多态
  • python 对矩阵与矩阵之间对应位置的元素,做softmax操作,代码实战
  • Angular前端项目在Apache httpd服务器上的部署
  • Oracle 更改数据文件位置的几种常用方式
  • 【opencv】图像畸变校正
  • Charger之二输入电压动态电源原理(VIN-DPM)
  • 【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)
  • 曲线救国:window 安装 docker
  • 番外篇 | 利用PyQt5+YOLOv5来搭建目标检测系统(附可视化界面+功能介绍+源代码)
  • Pascal Content数据集
  • 【Unity】使用Resources.LoadAll读取文件的顺序问题