HIVE大数据平台SQL优化分享

news2024/11/17 20:50:54

相信很多小伙伴在面试的时候,必然跳不过去的一个问题就是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.coloradmin.cn/o/1676141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python中tkinter编程入门4

在Python中tkinter编程入门3-CSDN博客中创建了Button控件,点击该控件就会产生一个点击事件,在创建Button控件时指定该点击事件的处理程序后,按键控件就会对用户的点击事件产生响应。 1 定义事件处理器 定义事件处理器就是一个自定义的函数。…

【UnityRPG游戏制作】Unity_RPG项目_BOSS系统

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

使用Nginx对网站资源进行加密访问并限制访问IP

你好呀,我是赵兴晨,文科程序员。 大家在工作中有没有遇到过这样的需求,新上的网站部署到生产服务器上,但是还没公开,只允许个别高层领导看。 思来想去,我想到了一个简单的方法,通过Nginx对网站…

【Javaer学习Python】 1、Django安装

安装 Python 和 PyCharm 的方法就略过了,附一个有效激活PyCharm的链接:https://www.quanxiaoha.com/pycharm-pojie/pycharm-pojie-20241.html 1、安装Django # 安装Django pip install Django# 查看当前版本 python -m django --version 5.0.62、创建项…

SpringBoot项目的项目部署全过程

一、前端 安装nginx 1.将提前准备好的nginx的安装包上传到Linux中/opt目录下(我用的是Xftp) 2.解压 2.1:在xshell中解压该文件: tar -zxvf nginx-1.20.1.tar.gz 2.2:进入解压后的目录 cd nginx-1.20.1/ 2.3:安装需要的依赖 yum -y install zlib zlib-devel openssl openssl-de…

如何去掉试卷答案,并打印出来

实际上,针对试卷答案的问题,一个简单而高效的方法是使用图片编辑软件中的“消除笔”功能。只需将试卷拍摄成照片,然后通过这一功能,就可以轻松擦除答案。虽然这种方法可能需要一些时间和耐心,但它确实为我们提供了一个…

Kubernetes 群集部署

一、Kubernetes 概述 1.1、什么是 Kubernetes Kubernetes 是一个可移植、可扩展的开源容器编排系统,主要用于自动化部署、扩展和管理容器应用,提供资源调度、部署管理、服务发现、扩容缩容、监控等功能。对于负载均衡、服务发现、高可用、滚动升级、自…

【智能算法】河马优化算法(HO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,MH Amiri受到自然界河马社会行为启发,提出了河马优化算法(Hippopotamus Optimization Algorithm, HO)。 2.算法原理 2.1算法思想 …

《无畏契约》游戏画面出现“撕裂感“,你清楚背后的原理吗?

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

LangChain 核心模块学习 模型输入 Prompts

模型输入 Prompts 一个语言模型的提示是用户提供的一组指令或输入,用于引导模型的响应,帮助它理解上下文并生成相关和连贯的基于语言的输出,例如回答问题、完成句子或进行对话。 提示模板(Prompt Templates)&#xf…

一篇文章带你入门CSRF

1.什么是CSRF 用一个形象生动的比喻就是: 你给朋友的房子留下了备用钥匙,但是有人偷偷拿走了这把钥匙,然后用这把钥匙进入了你朋友的房子并做了各种坏事。你朋友以为只有你能使用这把钥匙,所以没对任何操作产生怀疑。 在这个比…

保研机试之【设备驱动程序】

B选项: 综上,我认为这道题选择D~

从头开始学Spring—02基于XML管理bean

目录 1.实验一:入门案例 2.实验二:获取bean 3.实验三:依赖注入之setter注入 4.实验四:依赖注入之构造器注入 5.实验五:特殊值处理 6.实验六:为类类型属性赋值 7.实验七:为数组类型属性赋值…

Charger之三动态电源路径管理(DPPM)

-----本文简介----- 主要内容包括: 领资料:点下方↓名片关注回复:粉丝群 硬件之路学习笔记公众号 Charger的动态电源路径管理(DPPM) 前篇内容:①电池管理IC(Charger)了解一下&…

国产分布式数据库高可用故障检测实现

在分布式数据库架构下,当数据库节点异常时,数据库管理组件能够自动感知到异常并触发节点隔离或者自动切换,是数据库高可用容灾的基本能力。在节点服务器异常、网络异常或进程异常等场景下,各数据库产品本身已经具备了可靠的检测能…

C#之如何判断数据类型

一、GetType方法 a.GetType():获取当前变量的类型对象 string str "Hello World";Console.WriteLine(str.GetType()); 结果: 二、typeof方法 typeof(Int):获取的是Int类型的类型对象 int num 10;Console.WriteLine(num.GetType() typeof(i…

NSSCTF中的1zjs、作业管理系统、finalrce、websign、简单包含、Http pro max plus

目录 [LitCTF 2023]1zjs [LitCTF 2023]作业管理系统 [SWPUCTF 2021 新生赛]finalrce exec()函数:php中exec介绍及使用_php exec-CSDN博客​​​​​​ 资料参考:RCE(远程命令执行)绕过总结_rce绕过-CSDN博客 [UUCTF 2022 新生赛]websign [鹏城杯 …

Python实现麦克风录音保存到wav

功能展示: 运行环境: Python: 3.10.4 64-bit 操作系统: 截图环境:win10 64-bit 视频录屏环境:win10 64-bit 功能说明: 点击界面开始按钮开始录音,点击停止按钮结束录音。 源码文件列表&…

Linux的命名管道 共享内存

目录 命名管道 mkfifo函数 unlink函数 命名管道类 服务端 客户端 共享内存 shmget函数 ftok函数 key和shmid的区别 snprintf函数 ipcs指令 ipcrm指令 shmctl函数 shmat函数 void*做返回值 创建共享内存空间 服务端 客户端 命名管道 基本概念&#xff1…

OpenAI GPT-4

本文翻译整理自:https://openai.com/index/gpt-4-research/ (March 14, 2023) 文章目录 一、关于 GPT-4二、能力视觉输入Visual inputs: chart reasoningSample 2 of 7 操纵性Steerability: Socratic tutorSample 1 of 3 三、局限性四、风险与缓解措施五、训练流程…