• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Apache Spark的设计思路,apachespark

Apache Spark的设计思路,apachespark

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含apachespark攻略,apache spark,apache spark是什么,apache spark教程,org.apache.spark等服务器相关知识,网友希望可以进行参考

Apache Spark的设计思路,apachespark


大家都知道,现在Apache Spark可以说是最火的开源大数据项目,就连EMC旗下专门做大数据Pivotal也开始抛弃其自研十几年GreenPlum技术,转而投入到Spark技术开发当中,并且从整个业界而言,Spark火的程度也只有IaaS界的OpenStack能相提并论。那么本文作为一篇技术文章,我们接着就直接切入它的核心机制吧。

 

什么是内存计算技术? 
关于内存计算,就像云计算和大数据一样,其实无论在百度百科还是Wikipedia都没有非常精确的描述,但是有几个共通的关键点,我在这里给大家总结一下:其一是数据放在内存中,至少和当前查询工作涉及到的数据放在都要放在内存中;其二是多线程和多机并行,也就是尽可能地利用现代x86 Xeon CPU线程数多的优势来加速整个查询;其三是支持多种类型的工作负载,除了常见和基本的SQL查询之后,还通常支持数据挖掘,更有甚者支持Full Stack(全栈),也就是常见编程模型都要支持,比如说SQL查询,流计算和数据挖掘等。 
Apache Spark的设计思路 
大家都知道,现在Apache Spark可以说是最火的开源大数据项目,就连EMC旗下专门做大数据Pivotal也开始抛弃其自研十几年GreenPlum技术,转而投入到Spark技术开发当中,并且从整个业界而言,Spark火的程度也只有IaaS界的OpenStack能相提并论。那么本文作为一篇技术文章,我们接着就直接切入它的核心机制吧。 

图1. Spark的核心机制图 
在Spark的核心机制方面,主要有两个层面:首先是RDD(Resilient Distributed Datasets),RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现,它表示已被分区,不可变的并能够被并行操作的数据集合,并且通常缓存到内存中,并且每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了Map Reduce框架中由于Shuffle操作所引发的大量磁盘IO。这对于迭代运算比较常见的机器学习算法, 交互式数据挖掘来说,效率提升比较大。
其次,就是在RDD上面执行的算子(Operator),在Spark的支持算子方面,主要有转换(Transformation)和操作(Action)这两大类。在转换方面支持算子有 map, filter,groupBy和join等,而在操作方面支持算子有count,collect和save等。 
Spark常见存储数据的格式是Key-Value,也就是Hadoop标准的Sequence File,但同时也听说支持类似Parquet这样的列存格式。Key-Value格式的优点在于灵活,上至数据挖掘算法,明细数据查询,下至复杂SQL处理都能承载,缺点也很明显就是存储空间比较浪费,和类似Parquet列存格式相比更是如此,key-Value格式数据一般是原始数据大小的2倍左右,而列存一般是原始数据的1/3到1/4。 在效率层面,由于·使用Scala这样基于JVM的高级语言来构建,显而易见会有一定程度的损失,标准Java程序执行时候的速度基本接近C/C++ O0模式的程度,会比C/C++ O2模式的速度慢60%左右。 
在技术创新方面,个人觉得Spark还谈不上创新,因为它其实属于比较典型In-Memory Data Grid内存数据网格,无论从7-8年前的IBM WebSphere eXtreme Scale到最近几年新出,并用于12306的Pivotal Gemfire都采用较类似的架构,都主要通过多台机器拼成一个较大内存网格,里面存储的数据都接近Key-Value模式,并且这个内存网格会根据很多机制来确保数据会持久稳定地保存在内存中,并能保持数据的更新和恢复,而在网格上面使用一些常见的算子,来执行灵活的查询,并且用户可以写的程序来直接调用这些算子。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Apache Spark的设计思路,apachespark

相关文章

  • 两款Docker管理UI:DockerUI & Shipyard,dockerdockerui
  • 分享Hadoop大数据高薪就业视频,分享hadoop高薪就业
  • Spark编程指南V1.4.0(翻译),编程指南v1.4.0
  • MapReduce处理表的自连接,mapreduce处理表
  • input from 表单提交 使用 属性 disabled="disabled" 后台接收不到name="username"的值,disabledusername
  • 当代数学七大难题,当代七大难题
  • HBase RegionServer详解(未完),hbaseregionserver
  • Hadoop集群搭建之搭建DNS,hadoop集群dns
  • OutOfMemoryError PermGen space 的解决办法(头痛了几天),permgenspace
  • -bash:jps:command not found,-bashjps

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • OSTC 2015,ostc2015
    • 【Spark1.3官方翻译】Spark快速入门,spark1.3spark
    • The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path,httpservlet
    • NOSQL(六)集群并发计算模型Map-Reduce,nosqlmap-reduce
    • 2015 OpenCloud峰会总结,2015opencloud峰会
    • 基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker
    • Hadoop Installation on Linux,hadoopinstallation
    • HDFS API基本操作,hdfsapi基本操作
    • HDFS概念详解---名称节点与数据节点,hdfs节点
    • Hadoop学习---第一篇搭建Hadoop集群,---hadoop

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有