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

doris - 数仓 拉链表 按天全量打宽表性能优化

数仓 拉链表 按天全量打宽性能优化

  • 现状描述
  • 优化

现状描述

1、业务历史数据可以变更
2、拉链表按天打宽
3、拉链表模型分区字段设计不合理,通用的过滤字段没有作为分区分桶字段
4、拉链表表数据量略大、模型数据分区不合理和服务器资源限制,计算任务执行超时【3-4年,用户数:132W】
5、基于拉链表打宽后的天表行转列【最多列达到300列】,sum(case when … end),没有提前过滤数据

优化

1、完善模型设计,设计主键和分桶字段

1)在单表计算:若大表存放多种类型数据,数据分类字段要做为分区或分桶字段,可以实现数据快速过滤
2)多表关联:在大表合理设置了主键、分区或分桶的前提下,建议把关联字段做份分区或分桶字段【要综合考虑验证,设置过多分区分桶字段可能也会影响数据性能】

2、提前进行数据过滤和分级分类计算
前提:拉链表数据量较大或打宽后数据量较大

1)若拉链表数据量较大且包含多种类型数据,需要进行打宽表处理【一条打宽成多条】,那么打宽表后的数据量会翻几倍甚至更多从而导致性能很慢或者执行超时;
》》》建议1:在打宽的过程中按类别均匀拆分数据打宽到多个临时表
》》》建议2:增加任务并行度【在资源允许的前提下,大部分任务提高并发度可以解决性能问题:set parallel_fragment_exec_instance_num=8;】2)若拉链表数据量较大【同一种类型数据】,需要进行打宽表处理【一条打宽成多条】,那么打宽表后的数据量会翻几倍甚至更多从而导致性能很慢或者执行超时;
》》》建议1:在打宽的过程中可以按时间拆分为当前和历史数据表【数据归档处理】
》》》建议2:增加任务并行度【在资源允许的前提下,大部分任务提高并发度可以解决性能问题:set parallel_fragment_exec_instance_num=8;】

3)若拉链表打宽后不同类型数据在下游计算逻辑不一致,建议根据数据类型或其他类型拆分数据

在这里插入图片描述
3、根据指标需求进行热点数据特殊优化
前提:资源有限,1个并发度运行

1)拉链表按分类拆分【过滤】后再按天打宽到多个宽表;
2)计算逻辑:计算第1-150天和150+的数据,打宽成151行;
》》》可以分两类计算:第一类计算第1-150天【150列】再关联计算150+列
3)若按以上逻辑计算任务还是执行超时,把数据拆分当前表和历史表,使用两个insert 

相关文章:

doris - 数仓 拉链表 按天全量打宽表性能优化

数仓 拉链表 按天全量打宽性能优化现状描述优化现状描述 1、业务历史数据可以变更 2、拉链表按天打宽 3、拉链表模型分区字段设计不合理,通用的过滤字段没有作为分区分桶字段 4、拉链表表数据量略大、模型数据分区不合理和服务器资源限制,计算任务执行超…...

服务器虚拟化及优势

服务器虚拟化是从一台物理服务器创建多个服务器实例的过程。每个服务器实例代表一个隔离的虚拟环境。在每个虚拟环境中,都可以运行单独的操作系统。 1.更有效的资源调配 使用虚拟化技术大大节省了所占用的空间,减少了数据中心里服务器和相关硬件的数量。…...

华为ensp模拟校园网/企业网实例(同城灾备及异地备份中心保证网络安全)

文章简介:本文用华为ensp对企业网络进行了规划和模拟,也同样适用于校园、医院等场景。如有需要可联系作者,可以根据定制化需求做修改。作者简介:网络工程师,希望能认识更多的小伙伴一起交流,私信必回。一、…...

git命令篇(持续更新中)

首先介绍这个网页&#xff1a;https://learngitbranching.js.org/?localezh_CN --提交命令 git commit --创建分支 git branch <分支名> --切换分支 git checkout <分支名> --合并分支 (合并到主分支去&#xff0c;把我合并到谁的身上去) 自己写的分支合并到主线…...

用记事本实现“HelloWorld”输出

一、在任意文件夹中创建一个新的文本文档文件并写入以下代码 public class Hello{public static void main (String[] args){System.out.print("Hello,World!");} } 二、修改文件名称及文件类型为 Hello.java 特别注意&#xff1a;文件命名必须与代码中类的名称相同…...

Python基础1

1. 注释 单行注释&#xff1a;以#开头。一般建议注释和内容用空格隔开。 多行注释&#xff1a;以一对三个双引号括起来的内容是注释。“““示例注释”””。 2. 数据类型 验证数据类型的方法&#xff1a;type&#xff08;被查看类型的数据&#xff09;。 注意&#xff1a;…...

4.2 双点双向路由重发布

1. 实验目的 熟悉双点双向路由重发布的应用场景掌握双点双向路由重发布的配置方法2. 实验拓扑 双点双向路由重发布如图4-6所示: 图4-6:双点双向路由重发布 3. 实验步骤 IP地址的配置R1的配置 <Huawei>system-v…...

AcWing《蓝桥杯集训·每日一题》—— 3768 字符串删减

AcWing《蓝桥杯集训每日一题》—— 3768. 字符串删减 文章目录AcWing《蓝桥杯集训每日一题》—— 3768. 字符串删减一、题目二、解题思路三、代码实现本次博客我是通过Notion软件写的&#xff0c;转md文件可能不太美观&#xff0c;大家可以去我的博客中查看&#xff1a;北天的 …...

第五天笔记

1. 简述图片验证码使用流程&#xff1f; 1.前段生成UUID随机值&#xff0c;作为GET请求参数 2.后端试图进行判断&#xff0c;调用工具类来生成图片验证码和内容 3.将验证码内容使用redis保存到本地,前端传入的uuid作为key, 4.在前段输入获取到的图片验证码&#xff0c;想后端发…...

如何使用ArcGIS进行地理配准

1.概述 对于GIS数据而言&#xff0c;坐标信息是灵魂&#xff0c;有了坐标信息之后才能和别的数据结合使用&#xff0c;之前有介绍过矢量数据定义坐标信息的方法&#xff0c;针对栅格图&#xff0c;这里为大家介绍一下通过地理配准增加坐标信息的方法&#xff0c;希望能对你有所…...

【java基础知识】

Java中的基本数据类型是什么&#xff1f; byte&#xff1a;1字节&#xff0c;有符号&#xff0c;表示整数&#xff0c;范围为-128到127。short&#xff1a;2字节&#xff0c;有符号&#xff0c;表示整数&#xff0c;范围为-32768到32767。int&#xff1a;4字节&#xff0c;有符…...

Java提供了哪些IO方式? NIO如何实现多路复用?

第11讲 | Java提供了哪些IO方式&#xff1f; NIO如何实现多路复用&#xff1f; IO 一直是软件开发中的核心部分之一&#xff0c;伴随着海量数据增长和分布式系统的发展&#xff0c;IO 扩展能力愈发重要。幸运的是&#xff0c;Java 平台 IO 机制经过不断完善&#xff0c;虽然在某…...

人的大脑遇事的思考解决过程

人遇到问题的思考解决过程&#xff0c;大概如下&#xff1a;1&#xff09; 遇到问题&#xff1b;2&#xff09; 首先&#xff0c;不是直接推理&#xff0c;而是用直觉在自己的知识模式库里搜索&#xff0c;有没有相似的模式或者相同的模式。3&#xff09; 如果&#xff1a;3a)有…...

GNU zlib 压缩与解压文件详细介绍

GNU zlib 压缩与解压文件详细介绍 1.概述 zlib 模块为 GNU 项目的 zlib 压缩库中的许多函数提供了一个低级接口 2.使用内存数据压缩与解压 2.1.压缩与解压缩 使用 zlib 的最简单方法是将所有数据保存在内存中进行压缩或解压缩。 import zlib import binasciioriginal_dat…...

离线环境轻量级自动化部署

流程图&#xff1a; 常规系统发布的痛点 服务器频繁重启&#xff0c;上面部署的应用服务不能随之重启&#xff0c;导致服务时常宕机应用手动部署相对比较麻烦&#xff0c;步骤繁琐应用发布环境取决于发布人本地环境&#xff0c;导致不同发布人每次发布环境不一致&#xff0c;导…...

In-context Learning

formulate the example query -> LLM -> answerno gradient descent and fine-tuning, no parameters updateadvantages: 提供了与LLM进行交流的可解释的接口&#xff0c;通过template和demonstration将人类知识和LLM更好的结合&#xff1b;更像人类的预测思维&#xff…...

【新2023】华为OD机试 - 最优调度策略(Python)

华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 最优调度策略 题目 在通信系统中有一个常见的问题是对用户进行不同策略的调度 会得到不同系统消耗的性能 假设由 N 个待串行用户,每个用户可以使用 A/B/C 三种不同的调度策略 不同的策略会消耗不同的系…...

Python列表系列之统计计算

Python也提供了一些内置函数去实现诸如统计、计算的功能&#xff0c;下面我们具体来看一下 基本语法 1、获取元素出现的次数 使用列表的count()方法可以获取元素在列表中出现的次数&#xff0c;语法格式如下&#xff1a; listname.count(obj) lisetname&#xff1a;列表的名…...

【蓝桥杯集训·每日一题】AcWing 1460. 我在哪?

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴二分查找哈希表一、题目 1、原题链接 1460. 我在哪&#xff1f; 2、题目描述 农夫约翰出门沿着马路散步&#xff0c;但是他现在发现自己可能迷路了&#xff01; 沿路有一…...

一个不可忽视的重要能力

阅读本文大概需要 2.16 分钟。1、自我们开工后&#xff0c;年后第一场直播&#xff0c;场观二十万出头&#xff0c;以为是不是巧合还是卡 bug 了&#xff0c;就最近又测了下&#xff0c;发现连续几场直播下来&#xff0c;场观数据依旧很吓人&#xff0c;都是十几二十万&#xf…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...