SPARK:性能调优之RSS

server/2024/11/14 4:14:54/

参考文章:

  • 京东Spark自研Remote Shuffle Service在大促中的应用实践
  • SPARK RSS 杂谈
  • RSS设计文档

一、原生的 shuffle 过程

1、在mapper将shuffle数据写到本地磁盘,每个mapper会按照下游reducer的个数生成block
2、reducer在fetch环节拉取对应的block

性能问题
每个map生成的shuffle数据在一个文件中,文件分成多个block,每个block是一个下游reducer需要处理的数据,因此在shuffle read的时候,reducer需要读取上游属于自己的block,随机读比较严重。

  1. 数据随机读严重
  2. shuffle read 负载不均衡
  3. 数据无备份

体现在SPARK任务报错体现在,reducer的数据拉取报失败。

二、RSS 过程

1、shuffle read:在shuffle read阶段,mapper会将shuffle数据不直接罗盘针,而是按照reducer将block推到rss集群内存中。
2、RSS内存将各mapper产生的数据merge起来,存到hdfs中。
3、shuffle write:reducer在shuffle fetch的时候,reducer向Driver发起请求,拿到MapStatus消息,然后找到HDFS上聚合后的数据。

优点:

  1. 读数据的时候为顺序读,减少磁盘随机读和网络开销。
  2. rss可以做数据备份和数据去重。
  3. shuffle read的集群负载均衡。

http://www.ppmy.cn/server/6590.html

相关文章

设计模式学习笔记 - 开源实战一(上):通过剖析JDK源码学习灵活应用设计模式

工厂模式在 Calendar 类中的应用 在前面讲到工厂模式的时候,大部分工厂类都是以 Factory 作为后缀来命名,并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中,工厂类的设计更加灵活。我们来看下,工厂模式在 Java JDK…

每日一题(4.20)

目录 Leecode-118-杨辉三角题目示例解题思路代码实现 Leecode-238-除自身以外数组的乘积题目示例解题思路代码实现 Leecode-118-杨辉三角 题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上…

mysql解决插入根据某条件判断是否插入

exists :如果子查询查询到了列那么就为真。 not exists : 如果子查询查询不到结果则返回值为真。 如果配合 insertinto、select、update、delete的where 条件使用,就能根据某些条件,先判断条件是否满足在做相应的操作。 示例&…

axios的跨越封装

开发环境需要配置代理devServer: {// host: localhost, // ip 本地// open: true, // 配置自动启动浏览器port: 3000, // 设置端口号proxy: {/api: { // 接口以api开头的才用代理target: 服务器ip, //axiso实例里的baseURL的值(后端路径)changeOrigin: t…

RHCE ssh练习之远程连接服务实战

项目要求 一.配置两台主机 主机1. 主机名: server.example.com ip: 172.25.254.100 建立用户timinglee,其密码为timinglee 主机2 主机名:client.example.com ip: 172.25.254.200 二.安需求完成项目 172.25.254.200 在远程登录172.25.254.100的root用户时…

《机器学习by周志华》学习笔记-线性模型-02

1、对数几率回归 1.1、背景 上一节我们考虑了线性模型的回归学习,但是想要做分类任务就需要用到上文中的广义线性模型。 当联系函数连续且充分光滑,考虑单调可微函数,令: 1.2、概念 找一个单调可谓函数,将分类任务的真实标记与线性回归模型的预测值联系起来,也叫做「…

可视化大屏的应用(13):在能源环保领域的五大用武之地

可视化大屏在能源环保领域具有重要的应用价值。以下是一些主要的应用价值: 数据监控与分析 可视化大屏可以实时展示能源使用情况、环境污染指标、能源产量和消耗等数据。通过直观的数据可视化,能够帮助能源管理人员和环保专家更好地监控和分析数据&…

从三大层次学习企业架构框架TOGAF

目录 前言 掌握TOGAF的三个层次 层次1:怎么学? 层次2:怎么用? 层次3:怎么思? 结束语 前言 对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当…