大数据平台治理资源成本化

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据平台治理资源成本化

前言

”三分靠技术,七分靠管理“这句话可能大家都听说过,事实上背后是涉及到了一系列的方法论,可能业界听过什么程序猿到了一定年龄就转管理岗这个其实是事实。放到大数据平台治理上,这个完全适用的。我们做一个平台化的治理,需要的衡量清楚局部和整体的关系,做到优化的整体化,而不是追求局部优化。所以不管在任何时候,我们都需要看到我们全局的状况,找出资源大头,再精准打击,首要条件的事情便是资源成本化。

大数据平台资源成本衡量

成本的消耗其实来源很多,涉及到网络带宽,交换机,路由器等器材,机柜租用,以及本身的CPU价格,内存价格都有。但是我们需要怎么去衡量我们的平台成本呢,实际情况是,我们不需要真正把实际确定花费多少钱算得那么精准,而是给平台上面可用于优化和治理的信息进行量化就可以,对于一个大数据平台而言,主要针对两个资源就可以,那就是存储和计算。得到一个资源模型,再按照总的成本去进行分摊即可。

存储成本计算

成本=(存储r1+计算r2)

r1和r2是用来分摊时候的资源系数,也就是可以拿到比例值即可

存储成本

存储成本比较直接,物理表对应的存储即可,比如一个TB=100块钱,那么1GB就是10块钱。需要注意的点有下问题:

1.hdfs上面的存储会出现类似多副本*10或者3的存储,也会出现eccode编码之后的1.5倍的存储,那么这种时候怎么去计算呢?

2.视图是不占用存储的,这种时候是不是存储是0呢?

3.我的是外部表这种时候如果很多表都怪在同一个目录下面,那么这种时候共享一份存储,那么这个时候怎么计算呢?

4.我的表cache到了ssd上面,也是占用存储,那么这两个介质上面的是不是都算呢?

仔细一想,就发现计算存储这个事情好像也没那么直接,所以这个时候我们要明白这个时候本身的目标是什么,我们的目标其实是期望反应到资产成本的存储积数,本身的一生就是我们其实期望未来用户是可以下线掉资产的,在一套干净,整齐的资产范围之外,我不希望乱七八糟的资产也进来,所以这种时候我们其实会需要把这种不占用存储的资产也计算成本,未来可以看到的是哪怕下线一个无用的视图,那么也是可以看到成本在下降。面对一系列的问题,我的回答是 一份存储即可,不管是多副本还是单副本,我们都期望是资产占用的成本是相同的单位存储价格 去治理的,所以即使你有10个副本,我依然按照一份存储单位进行计算。

计算成本

计算成本其实在我们实践中被挑战过很多,因为涉及到引擎的不一样,所以资源计算有点不一样,在Yarn的计算体系下,CPU和内存的消耗其实就是核心关注的事情,另一个角度来说,不管是Hive、Spark、Flink等部署在Yarn上,对应资源分配来说,我们都是可以统一到对内存的分配上来,所以核心的考量是关注以上两者的消耗情况。对于资源来说,我们直接是采用资源占用多久来进行衡量,所以是 资源消耗= Core*时间,换算之后我们叫做CU,我们根据CU进行定价。

Hive成本的计算

Hive的任务其实最后的转换成了mapreduce的模型,我们分析一下资源模型:

根据资源消耗分析,我们按照如下公式进行换算

作业消耗
cpu消耗=map个数x时间+reduce个数x时间 ,
内存消耗=mapreduce.map.memory.mbxtask个数+
mapreduce.reduce.memory.mbxreduce个数
Master需要占用一份,则+1即可

yarn中的内存配置如下

mapreduce.map.memory.mb=256m
mapreduce.reduce.memory.mb=256m

当然实际情况会被任务内部配置做调整改变,但是总体是这个逻辑,每个任务配置从log中进行提取,我们就得到了hive的资源模型

Spark作业成本计算

Spark计算本身也是按照内存和CPU的消耗计算, Spark的作业模型我们分解如下

,Spark资源成本计算模型如下:

作业消耗
cpu消耗=task个数*时间,
内存消耗=Worker个数xexecutor-memory
Master需要占用一份,则+1即可

但是,有些问题!!!

最开始的话确实是这样去做的,在Hive的任务比较多的时候问题不大,但是随着平台做优化升级,整个平台逐步把任务切换到Spark引擎下,这个时候资源计算发生改变。

首先一点,hive作业对内存消耗其实不大,平台默认也就1g,后面资源升级,调整成了2g,资源消耗也还好,作业对资源的控制还是维系在一个正比关系。但是加了Spark之后,由于内存是executor-memory参数控制的,这个到了Spark默认配置一度上调6g->8g,有的干到了20g,25g,因为内存和成本就是一个系数,所以原有的成本体系一度崩塌了。

基于这种情况,考虑到实际的成本和引擎不一样,所以并没有去统一去进行对待。而是按照实际的消耗去评估作业的切换方式。

写在后面的话

实际情况来说,对于Yarn来说,本身的Vcore占用的时间和Memory消耗是准确些的,但是实际没有落地这样去实施,原因是平台间隔离比较大,yarn中打印的日志量缺少关联信息,所以其实是一个开发工作量,并没有直接使用。

另外,资源成本换算的成本目标是业务口径,用于知道使用团队的资源使用情况,进行换算是可以满足实际场景的。

最后一点,实际作业成本还有一些资源消耗比较难输出资源情况,例如adhoc的查询,spark sts作业,presto 等,还有一些因素是调度成本和数据扫描成本,综合的下来业务方本身不感知,而且会导致用户使用被很大程度限制!综合考量才是符合实际要求的解法。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
90 1
|
3月前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
573 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
15天前
|
机器学习/深度学习 存储 数据采集
解锁DataWorks:一站式大数据治理神器
解锁DataWorks:一站式大数据治理神器
36 1
|
1月前
|
存储 算法 固态存储
大数据分区优化存储成本
大数据分区优化存储成本
37 4
|
1月前
|
存储 大数据 Serverless
大数据增加分区优化资源使用
大数据增加分区优化资源使用
33 1
|
1月前
|
数据采集 分布式计算 大数据
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第27天】在数字化时代,数据治理对于确保数据资产的保值增值至关重要。本文探讨了大数据平台的搭建和数据质量管理的重要性及实践方法。大数据平台应包括数据存储、处理、分析和展示等功能,常用工具如Hadoop、Apache Spark和Flink。数据质量管理则涉及数据的准确性、一致性和完整性,通过建立数据质量评估和监控体系,确保数据分析结果的可靠性。企业应设立数据治理委员会,投资相关工具和技术,提升数据治理的效率和效果。
118 2
|
2月前
|
存储 运维 物联网
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
长安汽车智能化研究院致力于汽车智能化技术研究,通过构建基于云器科技Lakehouse一体化数据平台,解决了高并发、大规模车联网数据处理难题,实现了数据实时写入、高效分析和成本优化,助力汽车智能驾驶、网联和交通全面发展。
97 0
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
|
2月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
128 0
|
4月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
332 0
|
4月前
|
存储 分布式计算 监控
揭秘阿里云EMR:如何巧妙降低你的数据湖成本,让大数据不再昂贵?
【8月更文挑战第26天】阿里云EMR是一种高效的大数据处理服务,助力企业优化数据湖的成本效益。它提供弹性计算资源,支持根据需求调整规模;兼容并优化了Hadoop、Spark等开源工具,提升性能同时降低资源消耗。借助DataWorks及Data Lake Formation等工具,EMR简化了数据湖构建与管理流程,实现了数据的统一化治理。此外,EMR还支持OSS、Table Store等多种存储选项,并配备监控优化工具,确保数据处理流程高效稳定。通过这些措施,EMR帮助企业显著降低了数据处理和存储成本。
147 3