Chinaunix首页 | 论坛 | 博客
  • 博客访问: 538836
  • 博文数量: 906
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7350
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-07 15:28
个人简介

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

文章分类

全部博文(906)

文章存档

2026年(11)

2025年(202)

2024年(244)

2023年(247)

2022年(202)

我的朋友

分类: 大数据

2025-07-24 15:14:48

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

1、业务层面

    计算量太大是不是必须的,是否可以减少参与计算的用户量或者时间跨度;
    
计算逻辑是否过于复杂,是否可以简化。

2、模型层面

    是否有现成的数据可以使用或者基于现成的数据进行加工;
    
是否可以将整个计算逻辑进行合理拆分,降低每个子任务的复杂度,同时提高复用的可能性;
    
维度退化,空间和时间的权衡。

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

    使用Spark3引擎,自动合并小文件;
    
输入文件的存储格式、压缩格式、大小;
    
输出文件的大小;
    
启用压缩;
    
分区、分桶;
    
拉链表;
    yarn
队列的设置;
    
合适的计算引擎;
    task
的内存设置;
    task
处理的数据量;
    task
的数量;
    
并行度优化;
    
调整参数减少Map数量;
    
调整参数减少reduce数量。

4sql、代码层面

    列裁剪,避免select *
    
分区裁剪,使用分区字段过滤;
    
条件限制;
    
谓词下推;
    map
端预聚合;
    
key的过滤;
    
打散倾斜key
    
合适的join方式;
    
Distribute By Rand控制分区中数据量;
    group by
优化;
    
中间结果的缓存和复用;
    
小文件优化。

5、任务层面

    减少任务依赖,尽可能缩短链路;
    
业务链路/逻辑重构/改写;
    
任务分级,任务数评估,错峰调度;
    
任务依赖降级,周级别的任务依赖天级别,天级别依赖小时级别,小时级别依赖分钟级别;
    
避免频繁创建任务;
    
核心任务优先保证产出,双链路机制开启;
    
耗时长的任务拆分成子任务。任务批次提交;
    
资源动态扩容;
    
资源腾挪调整;
    
无用任务下线。

阅读(53) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~