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]
spark简介(大数据技术)相关推荐
- Flink简介—大数据技术
Flink是什么? Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算. 国内使用Flink的企业,挺多的 为什么要用Flink? 流数据更加符合生活中数据的真实 ...
- 【大数据】企业级大数据技术体系概述
目录 产生背景 常见应用场景 企业级大数据技术框架 数据收集层 数据存储层 资源管理与服务协调层 计算引擎层 数据分析层 数据可视层 企业级大数据技术实现方案 Google 大数据技术栈 Hadoop ...
- 大数据技术——销售分析系统
大数据技术--销售分析系统 文章目录 大数据技术--销售分析系统 1.成品功能展示 2.制作过程 2.1问题分析 2.2要解决的关键问题 2.3技术路线 2.4用到的知识点 2.5用到的软件版本 2. ...
- Spark大数据技术与应用 第一章Spark简介与运行原理
Spark大数据技术与应用 第一章Spark简介与运行原理 1.Spark是2009年由马泰·扎哈里亚在美国加州大学伯克利分校的AMPLab实验室开发的子项目,经过开源后捐赠给Aspache软件基金会 ...
- 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例
大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...
- 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
- 深入HBase、Spark、Alluxio、Greenplum、StreamSQL等大数据技术及其架构设计
2017年6月10-11日,由CSDN主办的SDCC 2017·深圳站大数据技术实战峰会将在深圳举办,峰会秉承干货实料的内容原则,邀请业内顶尖的架构师.大数据总监和PMC共话弹性计算.大数据平台构建. ...
- 大数据技术原理与应用 第三篇 大数据处理与分析(三)Spark
一. Spark简介 Spark最初由美国加州伯克利大学(UCBerkeley)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的.低延迟的数据分析应用程序 1.1 ...
- 《Spark大数据分析:核心概念、技术及实践》大数据技术一览
本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章 ...
- 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优
侯亚南 数据技术处 支宸啸 数据技术处 在大数据计算中,我们可能会遇到一个很棘手的问题--数据倾斜,此时spark任务的性能会比预期要差很多:绝大多数task都很快执行完成,但个别task执行极慢或者 ...
最新文章
- Python 中的进程、线程、协程、同步、异步、回调(一)
- 利用Gephi软件绘制网络图
- 如何解读「量子计算应对大数据挑战:中国科大首次实现量子机器学习算法」?——是KNN算法吗?...
- Python Django创建项目命令
- comsol如何设置距离梯度_使用 COMSOL 软件求解经典 CFD 基准问题:顶盖驱动空腔...
- 比亚迪发布九款新车 首次展示L4技术和BNA升级架构...
- 浅谈欧姆龙system studio和Cx-one软件编程上区别
- 对股票进行可视化分析
- 大数据技术原理与应用-林子雨版-课后习题答案
- layui 模板使用
- sap事务代码如何收藏_SAP仓库管理模块事务代码大全
- STM32CubeIDE 介绍及安装
- 简单的爬取某租房网站租房信息并存入MySQL数据库
- 房贷利率有无套路?Python解读“等额本金与等额本息”的差异所在
- 树莓派控制DS18B20温度传感器
- [线段树 标记永久化 单调队列] BZOJ 1171 大sz的游戏 BZOJ 2892 强袭作战
- Matlab中Robotics toolbox的安装及使用
- 诺基亚5310XM基本属性
- 北京大学 软微初试复试 经验总结贴
- CreateProcess TerminateProcess 创建与终止进程 demo
热门文章
- Information worker
- java脏字过滤_脏字过滤
- linux账号前有个base,安装 aconda 后Linux的终端界面前部出现(base)字样
- MSP430F5529 DriverLib 库函数学习笔记(十三)认识低功耗模式
- [vue] 父子组件间传值
- 什么是反射(.NET)[转]
- printf格式化输出类型
- [react] 在react中页面重新加载时怎样保留数据?
- Taro+react开发(57) 图片引入
- Taro+react开发(48)taro中switchTab