分布式机器学习

考虑到当今大数据时代生成的数据量,分布式机器学习是一项重要技术。 由此引出的问题是,我们应该选择哪个平台来帮助构建分布式机器学习环境? Apache Spark 是近年来非常流行的此类平台之一。

spark

Apache Spark 是一个开源集群计算框架,用于提供闪电般快速的分布式计算。 Apache Spark 可用于配置机器集群,以提供通用分布式计算引擎的方式进行配置,能够处理大量数据。

使用 Spark 时,您的数据集被分区并分布在 Spark 集群中,从而允许集群并行处理数据。 Apache Spark 旨在处理内存中的数据,仅此一点就真正将其与其他分布式计算平台区分开来。 通过存储和处理数据和内存,可以获得巨大的性能提升。 Apache Spark 本身是用 Scala 构建的。

Scala 是一种类型安全的 JVM 语言,它将面向对象和函数式编程结合到一种极其简洁、逻辑性和非凡强大的语言中。 正如我们将在本课程后面看到的,通过一些简单的配置选项,可以在 Amazon EMR 集群之上轻松快速地启动 Apache Spark。 考虑到这一点,您就可以开始明白为什么 EMR 和 Spark 为处理大型数据集提供了一个出色的平台。 Spark 核心是 Apache Spark 技术堆栈的核心。

Spark核心是基础层,提供分布式任务调度、调度和基本IO功能。 Spark 核心通过 API 公开,如下图所示。 API 接口可用于 Scala、Python、Java 和 R。Spark 平台附带用于 SQL、流媒体、机器学习和图形的内置模块。 在这里插入图片描述
Apache Spark 使用主从类型基础设施构建。 主节点充当中央控制器和协调器。

当我们启动启用了 Spark 的 EMR 集群时,AWS 会负责 Spark 的安装。 这就是在 EMR 之上运行 Spark 的好处。 Spark 的安装和部署会自动为您完成。 在 EMR 集群上启动 AWS 中托管的 Spark 工作环境非常简单快捷,让您能够将精力集中在数据科学本身上。

不管怎样,我们将快速浏览每个主要组件,以确保您对已部署的 Spark 拓扑有基本的了解。 驱动程序是main方法运行的进程。 首先,它将您的用户程序转换为任务,然后将任务安排在执行器上。 驱动程序与集群管理器通信,将任务分配给执行器。 顾名思义,集群管理器负责管理集群。

Spark 能够与多种集群管理器配合使用,包括 YARN、Mesos 和独立集群管理器。 默认情况下,EMR 将使用 YARN 启动 Spark,作为首选的集群管理器。 工作节点是执行实际工作的机器。 工作节点托管 Spark 执行程序进程。 EMR核心节点相当于Spark工作节点。

执行器是在工作线程中启动的各个 JVM 进程。 执行程序进程负责为特定 Spark 作业运行单个任务。 它们在 Spark 应用程序开始时启动,通常在应用程序的整个生命周期中运行。 任务完成后,执行器将结果发送回驱动器。

执行器还提供本地数据的内存缓存。 任务是驱动程序发送到要启动的执行器 JVM 进程的工作单元。 SparkContext 是 Spark 核心的入口点,对于您希望提交到 Spark 集群中的任何工作,SparkContext 为您提供了 Spark 执行环境的访问点,并充当 Spark 应用程序的控制器。

Apache Spark 有几种不同但相关的数据抽象。 让我们简要介绍一下每种不同的抽象,以及它们的主要优点是什么。 RDD(即弹性分布式数据集)是 Spark 使用且仍在使用的原始数据抽象。 RDD 提供了一个容错的项目集合,可以并行计算。 它是 Spark 的数据集表示,在机器集群上进行分区。

提供了一个 API,使您能够对其进行操作。 RDD 可以通过 JDBC 连接从各种数据格式和源(例如 CSV 文件、JSON 文件和/或数据库)创建。 接下来引入了 DataFrame。 DataFrame 将数据组织成命名列,类似于数据库表。 DataFrames 的一个关键目标是使数据集处理变得简单对于普通用户来说更方便、更容易使用。

我们将利用 Spark DataFrames 访问 CSV 存储的数据。 最后一个抽象,DataSet,建立在 DataFrame 的成功之上,通过提供额外的类型安全、面向对象的编程接口,提供对映射到关系模式的强类型、不可变对象集合的访问。 Spark 具有先进的有向无环图(简称 DAG)。 创建的每个 Spark 作业都会生成一个 DAG。

DAG 表示要在集群上执行的一系列任务阶段。 Spark 创建的 DAG 可以包含任意数量的阶段。 从幻灯片中可以看出,您的 Spark 代码被转换为 DAG,然后将其传递给 DAG 调度程序。 DAG 调度程序将图拆分为任务阶段,并将它们作为任务集分发给集群管理器上的任务调度程序。 最后,各个任务被传递到特定工作节点上指定的执行程序进程。

Spark MLlib

MLlib 是 Apache Spark 的可扩展机器学习库。 Spark MLlib 因其简单性、可扩展性以及与 Spark 生态系统中其他工具的轻松集成而增强了机器学习。 Apache Spark 附带一个本机机器学习库 MLlib,该库旨在实现简单性、可扩展性以及与其他 Spark 工具的轻松集成。

凭借 Spark 的可扩展性、语言兼容性和速度,数据科学家可以更快地解决和迭代 3D 数据问题。 Spark MLlib 可用于许多常见的业务用例,并可应用于许多数据集以执行特征提取、转换、分类、回归和聚类等操作。

MLlib 擅长的一些示例业务用例包括广告和营销优化、异常和欺诈检测、推荐系统。 Spark MLlib 实现了许多常见的机器学习算法。 根据您的问题类型,无论是二元分类、多类分类还是回归,都可以利用此处显示的任何支持的算法。

决策树能够处理数值数据和分类数据。 决策树只需要很少或最少的数据准备。 最后,决策树在处理非常大的数据集时表现良好。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

EMR

除了在 EMR 之上运行购买 barc 之外,您还可以运行其他流行的分布式框架,例如 H-base、Presto 和 Flink。 Amazon EMR 可用于执行:日志分析、Web 索引、ETL、财务预测、生物信息学以及我们已经提到的机器学习。 Amazon EMR 与 Spark 一起简化了集群和分布式作业管理的任务。

当您启动 EMR 集群时,您需要定义计算资源并将其分配给三个不同的节点:Master、Core 和 Task。

现在让我们逐一讨论一下。 主节点。 每个 EMR 集群将只有一个主节点。 主节点管理集群。 该节点协调作业和数据到核心节点和任务节点的分配。 主节点运行主要的 Hadoop 守护进程,例如名称节点、作业触发器和资源管理器。

核心节点。 作业任务在一组核心节点上执行。 数据使用 Hadoop 分布式文件系统 HDFS 存储。 核心节点运行数据节点和任务跟踪器恶魔。 任务节点。 任务节点是可选的。 他们还可以运行任务。 任务节点仅运行任务跟踪器恶魔。 设计和操作 EMR 集群时真正有用的功能之一是能够调整其大小。

您可以自动或手动调整可用于 EMR 集群的 Amazon EC2 实例数量,以响应具有不同需求的工作负载。 这使您可以确保集群在成本和性能方面始终以最佳状态运行。 在电子邮件集群上运行的 Spark 可以连接到多个数据存储位置。

有各种连接器可以提供这种灵活性,例如:通过 EMR DynamoDB 连接器的 DynamoDB、通过 JDBC 连接的后续数据库和/或通过 EMR 文件系统的 S3。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL语法分类 DDL(2)

DDL(2) C(Create):创建 //复制表 create table 表名 like 被复制的表名;//数据类型 1. int : 整数类型 2. double : 小数类型 //double(5,2) 最多五位且保留两位小数 3. date : 日期类型 //只包含年月日 yyyy-MM-dd 4. datetime : 日期 //包含年月日时…

php彩虹/异世界云商全解系统

系统更新与修复列表 1. 基于彩虹的二次开发 - 对彩虹系统进行了二次开发,增强了系统的功能和性能。2. 新增自定义输入框提示内容(支持批量修改) - 用户可以自定义输入框的提示内容,并支持批量修改,提升用户体验。3. 新…

DFS的一些题目

题目1:奶牛选美 这道题其实就是把两个连通块合成一个,可以用dfs、bfs和并查集。因为最近在dfs专题训练,这里我只写了dfs。 首先我们用dfs的方式遍历两个连通块,将两个连通块中点的坐标分别存入两个数组中,将这两个数组…

AI预测福彩3D第10弹【2024年3月16日预测--第2套算法重新开始计算第2次测试】

今天继续开始咱们第2套算法的验证,计划每套算法连续测试10期,达到50%的命中率即为较优的模型,可继续使用。老规矩,先上图表,再下结论~ 最终,经过研判分析,2024年3月16日福彩3D的七码预测结果如下…

LeetCode 面试经典150题 26.删除有序数组中的重复项

题目: 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量…

重学SpringBoot3-整合SSM

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-整合SSM Spring Boot整合SSM示例1. 创建Spring Boot项目2. 配置数据源3. 配置MyBatis4. 实现数据访问对象(DAO)5. 编写服务层和控…

强化学习------DDPG算法(附pytorch代码)

目录 一、前言二、基本原理2.1、经验回放2.2、更新过程2.2.1、Critic网络更新过程2.2.2、Actor网络更新过程2.2.3、 目标网络的更新 2.3、噪音探索 三、算法代码实现四、训练示例4.1、实现效果 一、前言 Deep Deterministic Policy Gradient (DDPG)算法是DeepMind团队提出的一…

YOLOv5_seg-Openvino和ONNXRuntime推理【CPU】

纯检测系列: YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列: YOLOv5/6/7-O…

一文总结python的异常数据处理示例

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

【打工日常】使用Docker部署团队协作文档工具

一、ShowDoc介绍 ​ShowDoc是一个适合IT团队共同协作API文档、技术文档的工具。通过showdoc,可以方便地使用markdown语法来书写出API文档、数据字典文档、技术文档、在线excel文档等等。 响应式网页设计:可将项目文档分享到电脑或移动设备查看。同时也可…

redis持久化策略

redis中持久化策略 1.持久化是什么 在前面的过程中讲述了有关于MySQL中事务的一些特性以及隔离等级。其中很重要的一条就提到了持久化,持久化就是可以将数据进行一个持久保存的意思。也就是将数据写入到硬盘中,虽然,redis是操作内存的一个数…

element-plus怎么修改表单中的label字体颜色及大小

问题描述: 当我们在vue3中使用element-plus组件库提供的表单组件时,有时我们需要修改表单中label的字体颜色等属性,这是如果直接选中label的class进行修改是不起作用的,我们只需深度选择即可选中并进行修改。 比如: …

PS学习-抠图-蒙版-冰块酒杯等透明物体

选中图,ctrlA 全选 ctrlC复制 创建一个蒙版图层 选中蒙版Alt 点击进入 ctrlv 复制 ctrli 反转 原图层 ctrldelete填充为白色 添加一个背景,这个方法通用 首选创建一个 拖到最底部 给它填充颜色 这个可能是我图片的原因。视频是这样做的

力扣L10--- 3. 无重复字符的最长子串--2024年3月14日

1.题目 2.知识点 注1:containsKey 是 Java 中 HashMap 类的一个方法,用于检查哈希表中是否包含指定的键。 注2:在哈希表(HashMap)中,每个键对应着唯一的值,因此键不能重复,但值可以重复。 (1)创…

公众号留言功能恢复了,你的开通了吗?

了解公众号的人都知道,腾讯在2018年3月宣布暂停新注册公众号的留言功能,这之后注册的公众号都不具备留言功能。 这成了很多号主运营人的一块心病,也包括我。 没有留言,就好似一个人玩单机游戏,无法与读者互动&#xff…

数据资产管理解决方案:构建高效、安全的数据生态体系

在数字化时代,数据已成为企业最重要的资产之一。然而,如何有效管理和利用这些数据资产,却是许多企业面临的难题。本文将详细介绍数据资产管理解决方案,帮助企业构建高效、安全的数据生态体系。 一、引言 在信息化浪潮的推动下&a…

DVWA-File Upload文件上传

什么是文件上传漏洞? 黑客利用文件上传后服务器解析处理文件的漏洞上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。 造成文件上传漏洞的原因: 1.服务器配置不当 2.开源编辑器上传漏洞 3.本地文件上传限制被绕过 4.过滤不严格被…

【C语言】分支语句(逻辑运算符与关系运算符)

文章目录 **逻辑运算符(&&、||、!)**逻辑运算符特点短路短路-逻辑与短路-逻辑或 **关系运算符(relational expression)**运算操作符的结合律、运算符 **选择结构/分支结构****if 语句****复合句的if语句(if...else..语句)****不良风格的程序** *…

使用Loadrunner进行性能测试

一、确定性能测试的范围、要求、配置、工具等 明确测试的系统: 本文档主要指的是web应用。 明确测试要求: 用户提出性能测试,例如,网站首页页面响应时间在3S之内,主要的业务操作时间小于10s,支持300用户在…

【触想智能】嵌入式工控一体机在交通监控管理上的应用分析

随着现代交通网络和技术的不断发展,高速公路的建设已经成为国家重点工程之一。然而,如何确保高速公路的安全驾驶则成为了一个长期亟待解决的问题。 为了提高高速公路的交通管理效率,嵌入式工控一体机被广泛应用于高速公路的联合监控管理系统中…