【小牛原创】Spark SQL 从入门到实战 -- spark sql 1.6版本相关api
【小牛原创】Spark SQL 从入门到实战 -- 概述
Spark Streaming:大规模流式数据处理
spark RDD 相关需求
spark RDD 高级应用
Spark手册 - load&save
Spark手册 - debug
Spark手册 - cache&checkpoint
Spark手册 - RDD Action API
Spark手册 - Partitioner源码
Spark手册 - RDD Transformation API
Spark手册 - RDD的依赖关系
Spark手册 - RDD入门
Spark手册 - 远程debug
Spark手册 - 在IDEA中编写WordCount程序(3)
Spark手册 - 在IDEA中编写WordCount程序(2)
Spark手册 - 在IDEA中编写WordCount程序(1)
Spark手册 - 执行Spark程序
Spark手册 - 集群安装
20页PPT|视频类网站大数据生态 Spark在爱奇艺的应用实践
Spark机器学习入门实例——大数据集(30+g)二分类
Spark官方文档中文翻译:Spark SQL 之 Data Sources
使用Spark MLlib来训练并服务于自然语言处理模型
Spark知识体系完整解读
案例 :Spark应用案例现场分享(IBM Datapalooza)
最全的Spark基础知识解答
Spark在GrowingIO数据无埋点全量采集场景下的实践
Apache Spark探秘:三种分布式部署方式比较
Apache Spark探秘:多进程模型还是多线程模型?
Apache Spark探秘:实现Map-side Join和Reduce-side Join
Apache Spark探秘:利用Intellij IDEA构建开发环境
spark on yarn的技术挑战
Apache Spark学习:将Spark部署到Hadoop 2.2.0上
Hadoop与Spark常用配置参数总结
基于Spark Mllib,SparkSQL的电影推荐系统
spark作业调优秘籍,解数据倾斜之痛
Spark入门必学:预测泰坦尼克号上的生还情况
小牛学堂浅谈基于Spark大数据平台日志审计系统的设计与实现
【Hadoop Summit Tokyo 2016】使用基于Lambda架构的Spark的近实时的网络异常检测和流量分析
Spark编程环境搭建经验分享
Spark技术在京东智能供应链预测的应用
spark中textFile、groupByKey、collect、flatMap、map结合小案例
Spark中DataFrame的schema讲解
深度剖析Spark分布式执行原理
【Spark Summit East 2017】从容器化Spark负载中获取的经验
内存分析技术哪家强?Spark占几何
Spark系列之一:Spark,一种快速数据分析替代方案
6种最常见的Hadoop和Spark项目
Hadoop vs Spark
Hadoop与Spark常用配置参数总结
Spark RPC通信层设计原理分析
Spark Standalone架构设计要点分析
Spark UnifiedMemoryManager内存管理模型分析
网易的Spark技术分享

内存分析技术哪家强?Spark占几何

于2017-03-16由小牛君创建

分享到:


 企业数据如今呈现指数型暴涨,如今的用户企业公司越来越多的意识到数据的重要价值,于是,数据分析成为了一个快速发展的行业,数据分析技术也是快速发展,成为了企业业务快速增长的一个强大助力。

  在2013年,我曾经写过一篇《传统存储遭遇挑战 内存计算或成为主流》文章,在里面我们详细分析了内存分析技术迎来快速发展的原因:用户将放置在硬盘的数据集放置在内存中,这样的好处是系统可以快速的访问到数据,提高企业IT系统的计算能力,提高企业IT系统的计算能力。

  内存分析的好处就是企业用户可以“实时”执行复杂的分析,并允许用户大型数据集切片和切块的那种通常与桌面电子表格软件的灵活性。

  随着内存计算的发展,越来越多的厂商开始发现内存分析的强大优势,越来越多的厂商开始推出一系列的产品,如SAP HANA,当然,除此之外,我们还不能忘了这个在开源领域可以和Hadoop、openstrack相提并论的Apache Spark。那么下面就让我们来看一下用户该如何选择这些不同产品呢?

  说到内存分析,相信更多的人都听说过SAP HANA这个平台,其是一个软硬件的结合体,SAP提供分析平台,同时与多个产生过合作生产支持HANA的高性能服务器,包括戴尔、HP、富士通、以及中国的华为和收购IBM的联想如今都能够支持。简单的说,这些高性能的服务器大多具有较高的内存支持,来为HANA提供支持。

内存分析技术哪家强?Spark有几成胜算

  华为FusionCube HANA一体机

  用户采用HANA可以直接对量实时业务数据进行查询和分析,而不需要对业务数据进行建模、聚合等。用户拿到的是一个装有预配置软件的设备。至于HANA的云服务,只是对用户而言可以在不购买相关硬件的情况下享受HANA的高性能,而HANA云服务的背后其实还是需要更高性能的硬件支撑的。

  除了SAP HANA,甲骨文也推出了类似的软硬件结合体Exadata,Exadata由Exadata数据库机器、Exadata数据库服务器、Exadata存储服务器以及高速网络接口等组成。InfiniBand端口的传输速度可以达到40Gb/秒。

  与HANA不同的是,Exadata的快在于把大部分数据库操作push到硬件,通过高性能硬件提高数据查询速度,通过采用列式结构减少需要在存储和内存间移动的数据量,通过高速网络接口提供数据传输的效率。

  Oracle Exalytics内存分析一体机是面向分析的集成设计系统,可以无限制提供最佳可视化分析和更智能的分析应用程序。内存分析硬件部分是一台为基于内存计算的商务智能而特别优化的服务器,具有提供 强劲计算能力的40核中央处理器,高达1TB的内存以及快速的网络。

  第2页:开源SPark的优势及发展前景

  IBM solidDB是一个专为用户获取极高的速度和可用性的内存数据库,用户既可以单独部署作为独立的数据库支持应用程序,也可以部署为其它关系型数据库的加速缓存以提高应用程序性能。

内存分析技术哪家强?Spark有几成胜算

  IBM solidDB

  其中,IBM solidDB Universal Cache功能将这些数据库中存储的性能关键型数据缓存到solidDB Universal Cache中,加快领先关系数据库的速度。solidDB Universal Cache 功能使用检查点和事务日志将数据持久保存在磁盘上,从而保持数据耐久性。

  除了SAP、IBM和甲骨文等IT巨头推出的软硬件的部署内存分析平台,在开源市场,Spark也越来越多的得到用户的关注,这个在开源领域可以说能够跟OpenStack相提并论。

  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。

  当下Spark已不止步于实时计算,目标直指通用大数据处理平台,而终止Shark,开启SparkSQL或许已经初见端倪。

  因此,尽管它今天看起来可能仍是昂贵的,但内存计算最终的总拥有成本更低将会被证明,因为它性能更强。在内存计算方面,SAP、甲骨文、IBM以及开源Spark都快速发展,随着新一轮的至强E7 v3处理器的发布,相信会给内存分析带来新的动力。