spark简介(大数据技术)

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 scala能够紧密集成,其中的 scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
• 易用性
Spark 提供了80多个高级运算符。
• 通用性
Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。
• 支持多种资源管理器
Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器
• Spark生态系统
• Shark:Shark基本上就是在Spark的框架基础上提供和Hive一样的HiveQL命令接口,为了最大程度的保持和Hive的兼容性,Spark使用了Hive的API来实现query Parsing和 Logic Plan generation,最后的PhysicalPlan execution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定的RDD,实现数据重用,进而加快特定数据集的检索。同时,Shark通过UDF用户自定义函数实现特定的数据分析学习算法,使得SQL数据查询和运算分析能结合在一起,最大化RDD的重复使用。
• SparkR:SparkR是一个为R提供了轻量级的Spark前端的R包。 SparkR提供了一个分布式的data frame数据结构,解决了 R中的data frame只能在单机中使用的瓶颈,它和R中的data frame 一样支持许多操作,比如select,filter,aggregate等等。(类似dplyr包中的功能)这很好的解决了R的大数据级瓶颈问题。 SparkR也支持分布式的机器学习算法,比如使用MLib机器学习库。 [3] SparkR为Spark引入了R语言社区的活力,吸引了大量的数据科学家开始在Spark平台上直接开始数据分析之旅。 [4]
基本原理
Spark Streaming:构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片段(几秒),以类似batch批量处理的方式来处理这小部分数据。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。此外小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合。
计算方法
• Bagel: Pregel on Spark,可以用Spark进行图计算,这是个非常有用的小项目。Bagel自带了一个例子,实现了Google的PageRank算法。
• 当下Spark已不止步于实时计算,目标直指通用大数据处理平台,而终止Spark,开启SparkSQL或许已经初见端倪。
• 近几年来,大数据机器学习和数据挖掘的并行化算法研究成为大数据领域一个较为重要的研究热点。早几年国内外研究者和业界比较关注的是在 Hadoop 平台上的并行化算法设计。然而, HadoopMapReduce 平台由于网络和磁盘读写开销大,难以高效地实现需要大量迭代计算的机器学习并行化算法。随着 UC Berkeley AMPLab 推出的新一代大数据平台 Spark 系统的出现和逐步发展成熟,近年来国内外开始关注在 Spark 平台上如何实现各种机器学习和数据挖掘并行化算法设计。为了方便一般应用领域的数据分析人员使用所熟悉的 R 语言在 Spark 平台上完成数据分析,Spark 提供了一个称为 SparkR 的编程接口,使得一般应用领域的数据分析人员可以在 R 语言的环境里方便地使用 Spark 的并行化编程接口和强大计算能力。 [5]

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

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

相关文章

python的concat用法_python的concat等多种用法详解

本文为大家分享了python的concat等多种用法,供大家参考,具体内容如下1、numpy中的concatenate()函数:>>> a np.array([[1, 2], [3, 4]])>>> b np.array([[5, 6]])>>> np.concatenate((a, b), axis0)array([[1, …

impala简介(大数据技术)

一、Impala概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C 和Java编写的开源软件。 与其他Hadoop的SQL引擎相比,它提供了高性能和低延迟。 换句话说&#xf…

论蒟蒻的作死程度

各个BT游戏进度记录 I wanna I wanna be the guy 德古拉(为什么我没有连发器……) 车万 东方红魔乡: nomal第四面 东方妖妖梦: 第五面 东方永夜抄: easyGOODENDING nomal第六面 转载于:https://www.cnblogs.com/tt66ea…

猎豹网matlab视频百度云,猎豹网校C++ Primer初级全套视频教程

1_CppPrimer_快速入门2_CppPrimer_基本内置类型3_CppPrimer_习题解答_2-34_CppPrimer_字面值常量5_CppPrimer_变量6_CppPrimer_变量名7_CppPrimer_定义对象8_CppPrimer_声明和定义9_CppPrimer_名字的作用域10_CppPrimer_const限定符11_CppPrimer_引用12_CppPrimer_typedef13_Cp…

elasticsearch简介(大数据技术)

ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有价值。ElasticSearch 的实现原理主要分为以下几个步骤,首先用户将…

python转为字节_将字节转换为python中的位

I am working with Python3.2. I need to take a hex stream as an input and parse it at bit-level. So I usedbytes.fromhex(input_str)to convert the string to actual bytes. Now how do I convert these bytes to bits?解决方案Another way to do this is by using the…

Linux 监控数据库资源占用

1.用xshell连接远程服务器,登录用户名和密码 2.进入远程服务器 3.输入top,回车,显示如下图所示 4.Cpu states: cpu状态 0,2,4,6 说明cpu是四核的 IDLE 代表闲置CPU百分比 百分号前面数字越大&#xff…

mysql操作窗口如何设置粘贴,Access6.5在表中复制和粘贴数据

在城市和省份两个字段里有很多重复的内容每次都输入一遍显得非常麻烦我们可以结合复制和粘贴数据两个命令将一个数据块很方便地放到很多位置上去 首先打开Access 的剪贴板单击视图菜单将鼠标移动到工具选项上在工具选项右边弹出一个菜单单击上面的剪贴板命在城市和省份两个字段…

windows下python安装

第一步:下载Python安装包 在Python的官网 www.python.org 中找到最新版本的Python安装包,点击进行下载,请注意,当你的电脑是32位的机器,请选择32位的安装包,如果是64位的,请选择64位的安装包&am…

ssdp协议_Cotopaxi:使用指定IoT网络协议对IoT设备进行安全测试

cotopaxi是用于IoT设备安全测试的工具集。你可以指定IoT网络协议(如CoAP,DTLS,HTCPCP,mDNS,MQTT,SSDP)进行测试。安装只需从git克隆代码即可:https://github.com/Samsung/cotopaxi要求目前Cotopaxi仅适用于…

ORACLE中数据类型

ORACLE中数据类型 1.在ORACLE中包含有:数值类型 字符串类型 日期类型等等 2.数值类型--- 1)number 在不设置宽度的情况下,默认是38个最大值 如果设置宽度,那么方式:number(2)--表示宽度为2的整型数据类型 如果设置小数…

学习记录 php,PHP进阶篇学习专用记录

print_r和echo有什么不同?答:echo只能输出字符串,或者字符串变量,print_r可以输出任何类型echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值print() 只能打印出简单类型变量的值(如int,string)print_r() 可以…

实例1:python

#有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? #!/usr/bin/python -- coding: UTF-8 -- for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i ! k ) and (i ! j) and (j ! k…

unit类型是什么?_项目中有用过锁吗?能解释一下什么是AQS(AbstractQueuedSynchronizer)吗?...

1 前言 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,如读写锁)。在以前,Java程序是靠synchronized来实现锁功能的,而在Jav…

java 4个系统,JSP系统的四个组成部分

JSP系统的四个组成部分JSP系统主要由四个部分组成:1)数据库连接部分:JSP系统支持常用的几个数据库,包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根据用户选择的数据库类型和用户提供的数据库名称、用户名、密码使用JDBC同数据库…

递归树

用于可视化递归算法的流程。当你知道递归的时间复杂度的公式后,就可以画出递归树,有利于你计算递归算法的时间复杂度。 像这种公式,第一个2说明是二叉树,一分为2;第二个n/2,说明他的儿子们所占用的数据只有…

实例1:python(续)

#有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? d[] for a in range(1,5): for b in range(1,5): for c in range(1,5): if (a!b) and (a!c) and (c!b): d.append([a,b,c]) print (“总数量&#xf…

python灰产_Python学习一周有感

从业至今,搞互联网将近7年了,如今,就连和我大学一个系的媳妇儿,都已经忘记了我是学工商管理的,每次聊天谈起来,都会用她那迷茫的眼神看着我:”你不是学计算机专业的吗?“大学毕业&am…

PHP统计API调用,php – 记录API调用

我编写了一个API,目前正在研究为系统提供日志记录的最佳方法.我们希望能够概述正在进行的呼叫,如果特定呼叫经常被击中等等.记录和呈现所有这些信息的最佳方法是什么?简单地想知道是否有任何预先构建或常用的解决方案,其API包含我正在寻找的内容.解决方法:有几种方法…

实例2:python

#企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高…