大数据--spark

news2024/11/15 3:52:55
    • 什么是Spark

Apache Spark 的架构基础是弹性分布式数据集 (RDD),这是一种只读的多组数据项,分布在机器集群上,以容错方式维护。[2] Dataframe API 作为 RDD 之上的抽象发布,随后是 Dataset API。在 Spark 1.x 中,RDD 是主要的应用程序编程接口(API),但从 Spark 2.x 开始,鼓励使用数据集 API [3],即使 RDD API 没有被弃用。[4] [5] RDD 技术仍然是 Dataset API 的基础。[6] [7]

Spark 及其 RDD 于 2012 年开发,以应对MapReduce集群计算范式的局限性,该范式在分布式程序上强制采用特定的线性数据流结构:MapReduce 程序从磁盘读取输入数据,跨数据映射函数,减少映射,并将缩减结果存储在磁盘上。Spark 的 RDD 充当分布式程序的工作集,提供(故意)受限形式的分布式共享内存。[8]

在 Apache Spark 内部,工作流作为有向无环图(DAG) 进行管理。节点代表 RDD,而边代表 RDD 上的操作。

Spark 有助于实现迭代算法(在循环中多次访问其数据集)和交互式/探索性数据分析,即重复的数据库式数据查询。与Apache Hadoop MapReduce 实施相比,此类应用程序的延迟可能会减少几个数量级。[2] [9] 在迭代算法的类别中,有机器学习系统的训练算法,它形成了开发 Apache Spark 的最初动力。[10]

Apache Spark 需要一个集群管理器和一个分布式存储系统。对于集群管理,Spark支持standalone(原生Spark集群,可以手动启动集群,也可以使用安装包提供的启动脚本,也可以在单机上运行这些daemon进行测试)、Hadoop YARN、Apache Mesos或Kubernetes。[11]对于分布式存储,Spark 可以与多种接口,包括Alluxio、Hadoop 分布式文件系统(HDFS)、[12] MapR 文件系统(MapR-FS)、[13] Cassandra、[14] 可以实施OpenStack Swift、Amazon S3、Kudu、Lustre 文件系统[ 15]或自定义解决方案。Spark还支持一种伪分布式本地模式,通常只用于开发或测试目的,不需要分布式存储,可以使用本地文件系统代替;在这种情况下,Spark 运行在一台机器上,每个CPU 核心有一个执行程序。

    • Spark内置模块

Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模 块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定 义;

Spark SQL:是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用 SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON 等;

Spark Streaming:是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并 且与Spark Core中的 RDD API高度对应;

Spark MLlib:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供 了模型评估、数据 导入等额外的支持功能;

集群管理器:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计 算。为了实现这样 的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个调度器,叫作独立调度器。

Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、 Pivotal、百度、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数 据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾 讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。

    • Spark的特点

1)快:与Hadoop的MapReduce相比,Spark基于内存的运算要快很多,基于硬盘的运算也要快10倍以 上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。计算的中间结果是存在 于内存中的。

2)易用:Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同 的应用。而且Spark支持交互式的Python和Scala的Shell,可以非常方便地在这些Shell中使用Spark集群 来验证解决问题的方法。

3)通用:Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流 处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都 可以在同一个应用中无缝使用。减少了开发和维护的人力成本和部署平台的物力成本。

  1. 兼容性(扩展):Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop 的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括 HDFS、HBase等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使 用Spark的强大处理能力。

    • 官网地址

http://spark.apache.org/

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

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

相关文章

39-剑指 Offer 41. 数据流中的中位数

题目 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位…

50个常用的 Numpy 函数详解

目录 一、创建数组 1、Array 2、Linspace 3、Arange 4、Uniform 5、Random.randint 6、Random.random 7、Logspace 8、zeroes 9、ones 10、full 11、Identity 二、数组操作 12、min 13、max 14、unique 15、mean 16、medain 17、digitize 18、reshape 19、…

详解1247:河中跳房子(二分经典例题)

1247:河中跳房子【题目描述】每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和…

《Unity Shader 入门精要》第6章 Unity 中的基础光照

第6章 Unity 中的基础光照 6.1 我们是如何看到这个世界的 通常来说我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象: 首先,光线从光源(light source)中被发射出来然后,光线和场景中的一些物…

JavaScript while 循环

文章目录JavaScript while 循环while 循环do/while 循环比较 for 和 while笔记列表JavaScript while 循环 只要指定条件为 true,循环就可以一直执行代码块。 while 循环 while 循环会在指定条件为真时循环执行代码块。 语法 while (条件) {需要执行的代码 }本例中…

Redis内部的阻塞式操作以及应对方法

Redis之所以被广泛应用,很重要的一个原因就是它支持高性能访问,也正因为这样,我们必须要重视所有可能影响Redis性能的因素,不仅要知道具体的机制,尽可能避免异常的情况出现,还要提前准备好应对异常的方案。…

MySQL进阶篇之索引2

02、索引 前四节内容:https://blog.csdn.net/kuaixiao0217/article/details/128753999 2.5、SQL性能分析 2.5.1、查看执行频次 1、SQL执行频率 MySQL客户端连接成功后,通过show [session|global] status命令可以提供服务器状态信息。 通过如下指令…

Computer architecture Cyber security Quantum computing交友

如果您也是computer architecture方向的博士硕士,希望交个朋友,欢迎后台私信。 当然,如果您也是 Cyber SecurityQuantum ComputingHigh Performance Computing 方向的博士硕士,想要交流,也可以私信。

学习记录669@项目管理之项目合同管理

有效合同原则 有效合同应具备以下特点: (1)签订合同的当事人应当具有相应的民事权利能力和民事行为能力。 (2)意思表示真实。 (3)不违反法律或社会公共利益 与有效合同相对应,需要避免无效合同。无效合同通常需具备下列任一情形: (1)一方以欺诈、胁迫的手段订立合…

【模拟CMOS集成电路】电路失调与CMRR—— 随机失调与系统失调分析(1)

电路失调与CMRR—— 随机失调与系统失调分析(1)前言1.1失调1.2失调电路模型1.2.1随机失调电路模型(1)电阻失配(2)跨导失配(3)电流镜的随机失调1.2.2系统失调前言 本文主要内容是失调…

深入剖析JVM垃圾收集器

文章目录前言1、新生代垃圾收集器1.1、Serial1.2、ParNew1.3、Parallel Scavenge2、老年代垃圾收集器2.1、Serial Old2.2、Parallel Old2.3、CMS(Concurrent Mark Sweep)3、全堆垃圾收集器3.1、Garbage First(G1)前言 参考资料&am…

ConfigurationProperties将配置绑定到bean的过程分析

概述 ConfigurationProperties是一个大家常用的注解。有一些系统配置,经常放在yml中,然后通过spring注入到bean中。 一般这些配置都是通过在spring生命周期的某一个环节,将属性注入进去的。 ConfigurationProperties就是利用了org.springf…

AC500 基于 Profinet 通讯连接变频器

硬件连接 使用 PM583-ETH 作为 Profinet 通讯的主站,ACS800 变频器 RETA-02 作为 Profinet 通讯的从站 2 ABB 变频器设置 以安装有 RETA-02 总线适配器的 ACS800 变频器为例,参照下表进行参数设定。详 细内容请参考变频器手册和 RETA-02 用户手册。表中…

Python 超强命令行解析工具 argparse !

在工作中,我们经常需要从命令行当中解析出指定的参数,而 Python 也提供了相应的标准库来做这件事情,比如 sys, optparse, getopt, argparse。这里面功能最强大的莫过于 argparse,下面就来看看它用法。import argparse# 使用 argpa…

计算机视觉OpenCv学习系列:第七部分、图像操作-3

第七部分、图像操作-3第一节、图像统计信息1.像素值统计2.函数支持说明3.代码练习与测试第二节、图像直方图1.图像直方图定义2.直方图函数3.代码练习与测试第三节、图像直方图均衡化1.直方图均衡化2.直方图均衡化函数3.代码练习与测试学习参考第一节、图像统计信息 1.像素值统…

零基础学JavaWeb开发(二十一)之 spring框架(4)

3、AOP详解 3.1、Aop常用术语 1.连接点(Join point): 连接点表示应用执行过程中能够插入切面的一个点,这个点可以是方法的调用、异常的抛出。在 Spring AOP 中,连接点总是方法的调用。类中的哪些方法可以被增强,这些…

详解动态规划01背包问题--JavaScript实现

对其他动态规划问题感兴趣的,也可以查看详解动态规划最少硬币找零问题--JavaScript实现详解动态规划最长公共子序列--JavaScript实现一开始在接触动态规划的时候,可能会云里雾里,似乎能理解思路,但是又无法准确地表述或者把代码写…

车辆占用应急车道识别抓拍系统 opencv

车辆占用应急车道识别抓拍系统通过opencvpython人工智能识别技术,对高速公路应急车道进行不间断实时监测,当监测到应急车道上有车辆违规占用时,立即告警提醒后台人员及时处理避。OpenCV的全称是Open Source Computer Vision Library&#xff…

【18】C语言 | 数组详解

目录 1、数组的格式 2、下列有什么区别 3、维数组的使用 4、*p 和 int* p arr 的含义 5、二维数组:打印一个二维数组 6、二维数组在数组中的存储 7、数组作为函数参数 8、数组名是数组首元素的地址 1、数组的格式 数组是一组相同类型元素的集合。 数组的创…

20230123英语学习

Interesting Studies to Spark Your Interest in the Research Field 科研也可以很有趣!盘点那些好玩的研究 When it comes to picking studies worth reading, what scientists deem an interesting science article might be perceived differently by a person…