离线数仓优化简述

本文分享自天翼云开发者社区《离线数仓优化简述》,作者:徐****东

1、业务层面

计算量太大是不是必须的,是否可以减少参与计算的用户量或者时间跨度;

计算逻辑是否过于复杂,是否可以简化。

2、模型层面

是否有现成的数据可以使用或者基于现成的数据进行加工;

是否可以将整个计算逻辑进行合理拆分,降低每个子任务的复杂度,同时提高复用的可能性;

维度退化,空间和时间的权衡。

3、系统层面(遵循一些计算引擎建议的使用规则和参数设置)

使用Spark3引擎,自动合并小文件;

输入文件的存储格式、压缩格式、大小;

输出文件的大小;

启用压缩;

分区、分桶;

拉链表;

yarn队列的设置;

合适的计算引擎;

task的内存设置;

task处理的数据量;

task的数量;

并行度优化;

调整参数减少Map数量;

调整参数减少reduce数量。

4、sql、代码层面

列裁剪,避免select *;

分区裁剪,使用分区字段过滤;

条件限制;

谓词下推;

map端预聚合;

大key的过滤;

打散倾斜key;

合适的join方式;

用Distribute By Rand控制分区中数据量;

group by优化;

中间结果的缓存和复用;

小文件优化。

5、任务层面

减少任务依赖,尽可能缩短链路;

业务链路/逻辑重构/改写;

任务分级,任务数评估,错峰调度;

任务依赖降级,周级别的任务依赖天级别,天级别依赖小时级别,小时级别依赖分钟级别;

避免频繁创建任务;

核心任务优先保证产出,双链路机制开启;

耗时长的任务拆分成子任务。任务批次提交;

资源动态扩容;

资源腾挪调整;

无用任务下线。

相关推荐
Gain_chance5 分钟前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip
Gain_chance1 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
Gain_chance2 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
心疼你的一切1 天前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
十月南城1 天前
Hive与离线数仓方法论——分层建模、分区与桶的取舍与查询代价
数据仓库·hive·hadoop
AI架构师小马1 天前
Hive调优手册:从入门到精通的完整指南
数据仓库·hive·hadoop·ai
Gain_chance1 天前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
心疼你的一切2 天前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
心疼你的一切2 天前
基于CANN仓库打造轻量级AIGC:一键生成图片语义描述
数据仓库·aigc·cann
AC赳赳老秦2 天前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek