E-MapReduce极客挑战赛季军方案

news2024/12/22 22:46:00

前一段时间我参加了E-MapReduce极客挑战赛,很幸运的获得了季军。在这把我的比赛攻略给大家分享一下,希望可以抛砖引玉。

赛题分析与理解

赛题背景:

大数据时代,上云已成为越来越多终端客户大数据方案的落地选择,阿里云 EMR 以其易用性高,性能强,弹性大的特点,成为了广大用户的首选。英特尔® 傲腾™持久内存是兼具出色的内存与存储性能的解决方案,将高性价比的大容量内存与对数据持久性的支持巧妙地结合在一起。本题结合阿里云 EMR和英特尔® 傲腾™数据中心级持久内存(后文简称PMEM)以及Intel OAP(Optimized Analytic Package for Spark)软件包,优化软件系统和利用硬件的特征,追求TPC-DS测试集的最优性能。

赛题描述:

EMR 团队提供用于比赛的Spark 3.1.2代码分支,选手进行 Spark 代码优化和参数调优以提升SparkSQL执行效率,同时组委会提供性能测评工具供选手自行测试(单机环境或EMR集群环境)。在比赛阶段,选手将最终优化后的Spark代码和调优参数打包,通过天池平台提交,天池平台会使用相同的性能测评工具,进行评测和排名。

EMR软件版本:EMR-5.2.1
Master节点:ecs.g6e.4xlarge 1台
Worker节点:ecs.re6p.4xlarge 3台,单机系统盘100GB ESSD 1块,数据盘200GB ESSD 4块,持久内存252 GiB。

赛题要求:

1、比赛使用的测试数据集大小为1T,1 TB TPC-DS数据集已经提前生成,数据格式为 Parquet,生成数据集的随机因子组委会不公开。
2、比赛使用SQL query为TPC-DS工具生成的99个SQL,组委会从中选择30条SQL进行评测,具体选取的SQL组委会不公开。
3、选手可以进行Spark参数优化,SQL优化,执行Plan算子优化,引擎优化,调度优化,数据传输优化等,以便让SQL作业执行更快速。

关键技术:

用到的关键技术包括:E-MapReduce,Spark,Intel Optane (PMEM)及Intel OAP。如下图所示:

enter image description here

赛题分析

通过对赛题分析可以发现,主要可以通过参数优化、硬件优化及代码优化来实现对Spark效率的提升。如下图所示:

enter image description here

整体方案与优化

整体方案

考虑到初赛和复赛的Worker的配置差异主要是复赛的Worker有傲腾持久内存,所以初赛以参数优化为主,复赛以硬件优化及代码优化为主。

enter image description here

利用Optane

复赛开始使用Optane,通过Optane提升比赛成绩
 

enter image description here


通过参数优化及应用Optane,最后成绩760左右。

经验与感想

IT系统调优是一个复杂的工程,需要对软件系统、硬件平台、技术体系进行深入的了解。查找资料,借鉴前人经验,可以大大的加快调优的进度。根据软硬件情况,合理的规划,可以做到事半功倍。

通过这次比赛对Spark、硬件加速、湖仓一体架构等有了更深入的了解。

感谢主办方这么一个机会,让我可以参与这么有意思的比赛。感谢各位导师对我问题的耐心解答和帮助,辛苦大家了,谢谢。

查看更多内容,欢迎访问天池技术圈官方地址:E-MapReduce极客挑战赛季军方案_天池技术圈-阿里云天池

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1615540.html

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

相关文章

解锁EDM设计秘籍:关键要素一览,邮件如何设计?

一个成功的EDM邮件需要包含多个关键元素,从内容、设计到呼唤行动,每个环节都至关重要。今天,我们就来探讨EDM邮件中应包含的关键元素?以及如何设计邮件? 一、EDM必备关键要素 1、吸引眼球的主题行 主题行应该简短明了…

2-Embedding例子:简单NN网络、迁移学习例子(glove语料预训练)

一、简单例子:构造简单NN网络生成Embedding 1、pytorch例子 2、tensorflow例子 # 1导入模块 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding import numpy as np# 2构建语料库 corpus[[…

【更新】cyのMemo(20240422~)

序言 胡哥首马在淮安325完赛,他的本硕都在淮安度过,七年的跑步生涯画上句号,真的是很圆满。七年,从180斤瘦到120斤,历经种种,胡哥理解的跑步,不是快,而是稳,他在比赛中从…

线性表的顺序存储如何设计实现?

如何存储 顺序及链式实现 计算机中的状态

【Java】变量零基础教程

目录 一、引言 二、基本组成单位 三、变量的基本原理 四、变量的基本使用步骤 五、变量快速入门 六、变量使用的注意事项 一、引言 为什么需要变量? ​​​​​​一个程序就是一个世界。 大家看下图,是我们现实中的一张生活照,图里有树…

汕头联想 ibm x3500 M5服务器上门维修记录

汕头联想服务器现场检修;汕尾IBM服务器故障维修;揭阳戴尔服务器维修;汕头ERP服务器维修;潮阳地区各种服务器故障维修;各类服务器主板齐全; 分享一例从东莞到汕头某染料厂维修ibm system x3500 M5服务器的真…

47.基于SpringBoot + Vue实现的前后端分离-校园外卖服务系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的校园外卖服务系统设计与实现管理工作…

分布式技术在文本摘要生成中的应用

摘要 自然语言处理首先要应对的是如何表示文本以供机器处理,随着网络技术的发展和信息的公开,因特网上可供访问的数字文档成爆炸式的增长,文本摘要生成逐渐成为了自然语言处理领域的重要研究课题。本文主要介绍了分布式技术在文本摘要生成中…

Oracle21C 引入HR实例(linux)

1、下载资源 https://github.com/oracle-samples/db-sample-schemas点击code(代码)下载 2、上传Sql文件 解压之后将human_resources里的文件复制到demo\schema\目录(具体目录前面的路径是你安装的路径)下,如下图 3、…

argparse模块(详解)

文章目录 一、argparse模块(1)创建命令行解析对象:parser argparse.ArgumentParser()(2)添加命令行参数和选项:parser.add_argument()(3)解析命令行参数:args parser.p…

就业班 第三阶段(nginx) 2401--4.22 day1 nginx1 http+nginx初识+配置+虚拟主机

一、HTTP 介绍 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件…

Web3钱包开发获取测试币-Polygon Mumbai(一)

Web3钱包开发获取测试币-Polygon Mumbai(一) 由于主网区块链上的智能合约需要真正的代币,而部署和使用需要花费真金白银,因此测试网络为 Web3 开发人员提供了一个测试环境,用于部署和测试他们的智能合约,以识别和修复在将智能合约…

❤️新版Linux零基础快速入门到精通——第三部分❤️

❤️新版Linux零基础快速入门到精通——第三部分❤️ 非科班的我!Ta!还是来了~~~3. Linux权限管控3.1 认知root用户3.1.1 Switch User——su3.1.2 sudo命令3.1.3 为普通用户配置sudo认证 3.2 用户和用户组3.2.1 用户、用户组3.2.2 用户组管理3.2.3 用户管…

辽宁梵宁教育设计培训:赋能大学生,新技能学习再升级

辽宁梵宁教育设计培训:赋能大学生,新技能学习再升级 在当今这个日新月异、信息爆炸的时代,大学生们面临着前所未有的挑战与机遇。为了帮助他们更好地适应社会的快速变化,提升个人的综合素质和竞争力,辽宁梵宁教育设计…

基于python实现的医疗领域用户问答的意图识别算法研究(django)

基于python实现的医疗领域用户问答的意图识别算法研究(django) 开发语言:Python语言 数据库:MySQL,Neo4j知识:深度学习,知识图谱工具:pycharm、Navicat、Maven 系统的实现 系统登录界面 医疗领域用户问答…

华媒舍:百度竞价排名如何提升点击率

在网络推广中,提升点击率是十分重要的。运用百度搜索引擎广告是一种常用的提升点击率的形式。而百度竞价推广是搜索引擎所提供的一种付费流量方法,根据提高网站在搜索结果中的排名,可以有效提升点击率。下面我们就详细介绍如何运用百度竞价推…

钢管钢材地板踢脚线定购规格采购批发商城h5公众号开发

钢管钢材地板踢脚线定购规格采购批发商城h5公众号开发 商品管理,订单管理,用户管理,售后管理,商品评价,虚拟商品自动发货,优惠劵,购物送劵。 您可以在这个H5公众号商城上找到以下功能列表&…

flink Unsupported operand types: IF(boolean, NULL, String)

问题:业务方存储了NULL 字符串,需要处理为 null select if(anull,null,a); 结果遇到了 Unsupported operand types: IF(boolean, NULL, String),根据报错反馈,很明显应该是没有对 null 自动转换&#xff…

Day39 网络编程(一):计算机网络,网络编程,网络模型,网络编程三要素

Day39 网络编程(一):计算机网络,网络编程,网络模型,网络编程三要素 文章目录 Day39 网络编程(一):计算机网络,网络编程,网络模型,网络…

JAVA学习笔记28(常用类)

1.常用类 1.1 包装类 1.包装类的分类 ​ 1.针对八中基本数据类型相应的引用类型–包装类 ​ 2.有了类的特点,就可以调用类中的方法 2.包装类和基本数据类型的转换 ​ *装箱:基本类型 --> 包装类型 //手动装箱 int n1 100; Integer integer ne…