星环:如何构建企业级Hadoop/Spark分析平台

来源:企业网D1Net  作者:孙元浩
2014/9/9 13:52:11
星环科技推出的交互式分析引擎名叫Inceptor,从下往上有三层架构,最下面是一个分布式缓存(Transwarp Holodesk),可建在内存或者SSD上,中间层是Apache Spark计算引擎层,最上层包括SQL’99和PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。

本文关键字: Spark Hadoop 星环科技 Inceptor
一说大数据,人们往往想到Hadoop。这固然不错,但随着大数据技术的深入应用,多种类数据应用要求的不断提出,一些Hadoop不甚专注的领域开始被人们注意,相关技术也迅速获得专业技术领域的应用。最近半年来的Spark之热即是这样的一个典型。
 
Spark是一个基于内存计算的开源集群计算系统,目的是更快速地进行数据分析。 Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发,早期核心部分的代码只有3万行,非常轻量级。Spark 提供了与Hadoop Map/Reduce 相似的分布式计算框架,但基于内存和迭代优化的设计,因此在交互式数据分析和数据挖掘工作负载中表现更优秀。
 
进入2014年以后,Spark开源生态系统得到了大幅增长,已成为大数据领域最活跃的开源项目之一。Spark之所以吸引如此多的关注,究其原因主要是因为Spark具有的高性能、高灵活性、与Hadoop生态系统完美融合等三方面的特征。
 
首先,Spark对分布的数据集进行抽象,创新地提出RDD(Resilient Distributed Dataset)的概念,所有的统计分析任务被翻译成对RDD的若干基本操作组成的有向无环图(DAG)。RDD可以被驻留在内存中,后续的任务可以直接读取内存中的数据;同时分析DAG中任务之间的依赖性可以把相邻的任务合并,从而减少了大量的中间结果输出,极大减少了磁盘I/O,使得复杂数据分析任务更高效。从这个意义上来说,如果任务够复杂,迭代次数够多,Spark比Map/Reduce快一到两个数量级。
 
其次,Spark是一个灵活的计算框架,适合做批处理、工作流、交互式分析、迭代式机器学习、流处理等不同类型的应用,因此Spark可以成为一个用途广泛的计算引擎,并在未来取代Map/Reduce的地位。
 
最后,Spark可以与Hadoop生态系统的很多组件互操作。Spark可以运行在新一代资源管理框架YARN上,它还可以读取已有的存放在Hadoop上的数据,这是个非常大的优势。
 
虽然Spark具有以上三大优点,但从目前Spark的发展和应用现状来看,Spark自身也存在很多缺陷,主要包括以下几个方面:
 
1. 稳定性方面,由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在内存中,Java垃圾回收缓慢的现象严重,导致Spark的性能不稳定,在复杂场景SQL的性能甚至不如现有的Map/Reduce。
 
2. 不能处理大数据,单台机器处理数据过大,或者由于数据倾斜导致中间结果超过内存大小时,常常出现内存不够或者无法运行得出结果。然而,Map/Reduce计算框架可以处理大数据,在这方面,Spark不如Map/Reduce计算框架有效。
 
3. 不能支持复杂的SQL统计,目前Spark支持的SQL语法的完整程度还不能应用在复杂数据分析中。在可管理性方面,Spark与YARN的结合不完善,这就在用户使用过程中埋下隐患,易出现各种难题。
 
虽然Spark正活跃在Cloudera、MapR、Hortonworks等众多知名大数据公司,但是如果Spark本身的这些缺陷得不到及时处理,将会严重影响 Spark的普及和发展。在本土大数据平台软件公司星环信息科技(上海)有限公司(以下简称"星环科技")推出一系列关于Spark的大数据平台产品之后,这些难题已能够迎刃而解。
 
星环科技推出的交互式分析引擎名叫Inceptor,从下往上有三层架构,最下面是一个分布式缓存(Transwarp Holodesk),可建在内存或者SSD上,中间层是Apache Spark计算引擎层,最上层包括SQL’99和PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。
 
 
Transwarp Inceptor对Spark进行了大量的改进,具有高性能、稳定性好、功能丰富、易管理等特征,可以切实解决Spark本身存在的难题,具体而言,星环Inceptor具有以下几点优势:
 
高性能
 
首先,支持高性能Apache Spark作为缺省执行引擎,可比原生的Hadoop Map/Reduce快;其次,通过建立独立于Spark的分布式列式缓存层,可以有效防止GC的影响,消除Spark的性能波动,同时在列式缓存上实现索引机制,进一步提高了执行性能;再次,在SQL执行计划优化方面,实现了基于代价的优化器(cost based optimizer)以及多种优化策略,性能可以比原生Spark快数倍;最后通过全新的方法解决数据倾斜或者数据量过大的问题,使得处理超大数据量时也游刃有余。
 
更强的SQL支持
 
Inceptor提供ANSI SQL’99语法支持以及PL/SQL过程语言扩展,并且可以自动识别HiveQL、SQL’99和PL/SQL语法,在保持跟Hive兼容的同时提供更强大的SQL支持。由于现有的数据仓库应用大都基于SQL’99,而且国内客户大量使用PL/SQL,因此Inceptor可以支持复杂的数据仓库类分析应用,也使得从原有数据库系统迁移到Hadoop更为容易,可以帮助企业建立高速可扩展的数据仓库和数据集市。
 
基于R 的数据挖掘与机器学习
 
Inceptor中包含了专业用于数据挖掘的R语言执行引擎,并且扩展了R语言,支持多种分布式数据挖掘算法,包括统计算法和机器学习算法;也支持在 R 中调用SQL语句,通过Spark访问分布式内存数据。这些功能使得用户可以真正在全量数据上进行机器学习或数据挖掘,而再也不用使用采样的方法,精准度得到很大提高。
 
多租户/动态集群创建/自由切换计算引擎
 
YARN的引入使得统一资源管理成为可能,Inceptor缺省采用星环改进后的YARN,有效支持多个Spark或Map/Reduce集群,Inceptor的每一条SQL都可以通过简单的提示(hint)来指定执行引擎使用Spark或Map/Reduce。而通过YARN管理所有资源后,可以具备以下优势:
 
(1)统一集群,统一的HDFS和YARN集群,多个计算引擎共存并且访问同一份数据,避免创建隔离的多个集群,减少数据拷贝或者远程访问,提高效率,也可降低维护成本。
 
(2)动态部署,可以动态创建和销毁Spark集群,灵活部署业务。适合对非7x24不间断业务(例如周期性统计业务)的动态部署。
 
(3)资源隔离,通过YARN的资源隔离和配额管理,可以避免使用同一个Spark集群使用单一调度算法时出现的计算资源争抢现象,保证每项业务都能顺利完成。星环科技的 YARN支持对计算资源和内存资源的管理能力,避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。
 
(4)资源共享,在申请资源配额后,如果当前用户的资源紧张或受限,可以动态调配其他用户的闲置资源加入,当其他用户使用时再归还。
 
高性价比
 
Inceptor支持混合存储体系(内存/闪存/磁盘),Holodesk列式存储可以存放在速度较快的闪存SSD上或者更快的内存中。内存、SSD和机械硬盘的速度比是100:10:1,而同样容量的内存、SSD、硬盘的价格比也是100:10:1。采用为SSD优化的Inceptor之后,实际测试发现,采用SSD替代大容量昂贵的内存作为缓存,性能没有明显的下降,因此可以用同样的价格买到容量大10倍的SSD作为缓存,一方面可以提供跟纯内存缓存接近的性能,另一方面也可比纯内存数据库处理更大的数据。
 
对于广大用户而言,在选择Spark及大数据软件时,高性能、高兼容性和高性价比的技术无疑是用户的最爱,而星环Spark不仅可以实现三者的有机结合,更在此基础上实现功能扩展,为用户提供更加全面优质的服务,从而更能打动用户的芳心。
 
星环科技作为一家高科技大数据创业公司,致力于大数据基础软件的研发。星环科技目前掌握的企业级Hadoop和Spark核心技术在国内独树一帜,其产品Transwarp Data Hub (TDH)的整体架构及功能特性堪比硅谷同行,在业界居于领先水平,性能卓越,可处理从GB到PB级别的数据。星环科技的核心开发团队参与部署了国内最早的Hadoop集群,并在中国的电信、金融、交通、政府等领域的落地应用拥有丰富经验,是中国大数据核心技术企业化应用的开拓者和实践者。
 
目前,星环科技正处于高速发展时期,相信在未来,随着星环Spark以及相关大数据基础软件的普及,整个大数据领域将迈向新的发展高度。
 
更多信息,请访问 http://www.transwarp.io/
责编:李玉琴
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918
    Baidu
    map