大数据-Inceptor技术白皮书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因此,尽管Spark正活跃在众多大数据公司的技术体系中,但是如果Spark本身的这些缺陷得不到及时处理, 将会严重影响Spark的普及和发展。星环科技有针对性的开发,推出了一系列关于Spark的大数据平台技术方案, 这些难题便迎刃而解。
星环科技推出的基于Spark的交互式分析引擎Inceptor,从下往上分三层架构,最底层是分布式缓存( Transwarp Holodesk),可建在内存或者SSD上;中间层是Apache Spark计算引擎层;最上层包括SQL 2003 和PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。
高性能
首先,支持高性能Apache Spark作为缺省执行引擎,可比原生的Hadoop Map/Reduce快;其次,通过建立 独立于Spark的分布式列式缓存层,可以有效防止GC的影响,消除Spark的性能波动,同时在列式缓存上实现 索引机制,进一步提高了执行性能;再次,在SQL执行计划优化方面,实现了基于代价的优化器(cost based optimizer)以及多种优化策略,性能可以比原生Spark快数倍;最后通过全新的方法解决数据倾斜或者数据量过 大的问题,使得处理超大数据量时也游刃有余。
01
2014 TRANSWARP 星环科技
JDBC
ODBC
SHELL
R-statistical computing
Interactive SQL Engine 编译器SQL2003+PL/SQL COMPILER 优化器COST BASED OPTIMIZER 代码生成CODE GENERATOR
对于广大用户而言,在选择Spark及大数据软件时,高性能、高兼容性和高性价比的技术无疑是用户的最爱, 而星环Spark不仅可以实现三者的有机结合,更在此基础上实现功能扩展,为用户提供更加全面优质的服务,从 而更能打动用户芳心。
03
2014 TRANSWARP 星环科技
Hadoop发行版 TPC-DS对比评测结果
一共99个测试案例,遵循SQL'99和SQL 2003的语法标准,SQL案例比较复杂 分析的数据量大,并且测试案例是在回答真实的商业问题 测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等) 几乎所有的测试案例都有很高的IO负载和CPU计算需求
这个基准测试的完整信息请参考http://www.tpc.org/tpcds/。 为了使大家进一步了解星环Hadoop发行版的性能,我们选取了国外具代表性的厂商Cloudera及其产品( Cloudera Impala)做对比测试。
统一集群:统一的HDFS和YARN集群,多个计算引擎共存并且访问同一份数据,避免创建隔离的多个集群, 减少数据拷贝或者远程访问,提高效率,也可降低维护成本。 动态部署:可以动态创建和销毁Spark集群,灵活部署业务。适合对非7x24不间断业务(例如周期性统计业 务)的动态部署。 资源隔离:通过YARN的资源隔离和配额管理,可以避免使用同一个Spark集群使用单一调度算法时出现的计 算资源争抢现象,保证每项业务都能顺利完成。星环科技的YARN支持对计算资源和内存资源的管理能力, 避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。 资源共享:在申请资源配额后,如果当前用户的资源紧张或受限,可以动态调配其他用户的闲置资源加入, 当其他用户使用时再归还。
基于R的数据挖掘与机器学习
Inceptor中包含了专业用于数据挖掘的R语言执行引擎,并且扩展了R语言,支持多种分布式数据挖掘算法, 包括统计算法和机器学习算法;也支持在R中调用SQL语句,通过Spark访问分布式内存数据。这些功能使得用 户可以真正在全量数据上进行机器学习或数据挖掘,而再也不用使用采样的方法,精准度得到很大提高。
虽然Spark具有以上三大优点,但从目前Spark的发展和应用现状来看,Spark自身也存在很多缺陷,主要 包括以下几个方面:
稳定性:由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在内存中, Java垃圾回收缓慢的现象严重,导致Spark的性能不稳定,在复杂场景SQL的性能甚至不如现有Map/Reduce。 不能处理大数据:单台机器处理数据过大,或者由于数据倾斜导致中间结果超过内存大小时,常常出现内存 不够或者无法运行得出结果。但是Map/Reduce计算框架却可以处理大数据,因此在这方面Spark不如Map/Reduce 有效。 不支持复杂的SQL统计:目前Spark支持的SQL语法的完整程度还不能应用在复杂数据分析中。在可管理性 方面,Spark与YARN的结合不完善,这就在用户使用过程中埋下隐患,易出现各种难题。
Transwarp Statistics Library
并行统计算法库
Distributed Execution Engine 分布式执行引擎 including Apache Spark
Transwarp Holodesk 分布式内存列式存储
Transwarp Machine Learning
Library
更强的SQL支持
Inceptor提供ANSI SQL 2003语法支持以及PL/SQL过程语言扩展,并且可以自动识别HiveQL、SQL 2003 和PL/SQL语法,在保持跟Hive兼容的同时提供更源自文库大的SQL支持。由于现有的数据仓库应用大都基于SQL 2003,而且国内客户大量使用PL/SQL,因此Inceptor可以支持复杂的数据仓库类分析应用,也使得从原有数据 库系统迁移到Hadoop更为容易,可以帮助企业建立高速可扩展的数据仓库和数据集市。
高性价比
Inceptor支持混合存储体系(内存/闪存/磁盘),Holodesk列式存储可以存放在速度较快的闪存SSD上或者 更快的内存中。内存、SSD和机械硬盘的速度比是100:10:1,而同样容量的内存、SSD、硬盘的价格比也是 100:10:1。采用为SSD优化的Inceptor之后,实际测试发现,采用SSD替代大容量昂贵的内存作为缓存,性能没 有明显的下降,因此可以用同样的价格买到容量大10倍的SSD作为缓存,一方面可以提供跟纯内存缓存接近的 性能,另一方面也可比纯内存数据库处理更大的数据。
TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大 规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据 分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试 集。随着国内外各代表性的Hadoop发行版厂商以TPC-DS为标准测评产品 ,TPC-DS也就逐渐成为了业界公认 的Hadoop系统测试准则。这个基准测试有以下几个主要特点:
测试硬件环境
我们搭建了两个集群分别用于Transwarp Inceptor与Cloudera Impala的测试。每个集群采用4台普通两路 x86服务器搭建,每台服务器硬件配置如下:
CPU 内存 磁盘 网络
两颗Intel® Xeon® Processor E5-2620 v2 (15M Cache, 2.10 GHz, 6 cores) 每个节点128GB内存 6块1TB SATA硬盘, 7200RPM 千兆全双工网络
Transwarp Inceptor 技术白皮书
星环信息科技(上海)有限公司
基于Spark的交互式分析引擎技术解析
基于Spark的交互式分析引擎 技术解析
Hadoop由HDFS和Map/Reduce组成。HDFS仍然是一个高可扩展的分布式文件系统,是大数据软件栈的基 石。Map/Reduce在处理PB级别的数据时,仍然具有高容错性、高吞吐量的特点。但由于复杂的工作流通常需 要多个阶段的Map/Reduce任务,而Map/Reduce的输入输出必须经过低速磁盘,导致运行复杂迭代任务时非常 低效,因此不适合对延时要求高的交互式分析或者需要复杂迭代的数据分析任务。而Spark是一个基于内存计算 的开源集群计算系统,目的是更快速地进行数据分析。 Spark 提供了与Hadoop Map/Reduce 相似的分布式计 算框架,但却有基于内存和迭代优化的设计,因此在交互式数据分析和数据挖掘工作负载中表现更优秀。
2014 TRANSWARP 星环科技
04
Hadoop发行版TPC-DS对比评测结果
我们使用的操作系统是64位的CentOS 6.4,Linux Kernel版本号为2.6.32。Transwarp Inceptor集群部署了 Transwarp Data Hub (TDH) v4.0,包括基准的Hadoop 2.5以及Inceptor。系统配置方面,每台服务器的6块硬 盘中有1块用于操作系统,其他5块硬盘用作HDFS。Hadoop的各种服务的配置如下:
大数据基础技术领域中Hadoop的地位已获得广泛认同,但目前国内外市场上的Hadoop版本也是林林总总, 到底该参照什么标准来考评Hadoop,尤其是给企业应用的Hadoop发行版平台呢?
大家可能都听说过TPC–Transaction Processing Performance Council,它是一个非赢利的标准化组织。它 定义了多组标准测试集用于客观地/可重现地评测数据库的性能。TPC中有个Decision Support(DS)子集, 即TPC-DS,是用于评测决策支持系统(或数据仓库)的标准SQL测试集。这个测试集包含对大数据集的统计/ 报表生成/联机查询/数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS 是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。
2014 TRANSWARP 星环科技
02
基于Spark的交互式分析引擎技术解析
多租户/动态集群创建/自由切换计算引擎
YARN的引入使得统一资源管理成为可能,Inceptor缺省采用星环改进后的YARN,有效支持多个Spark或 Map/Reduce集群,Inceptor的每一条SQL都可以通过简单的提示(hint)来指定执行引擎使用Spark或Map/ Reduce。而通过YARN管理所有资源后,可以具备以下优势:
机器学习算法库
Transwarp HDFS2 分布式持久化数据存储
Transwarp Hyperbase 分布式实时数据库
图一:Inceptor交互式分析引擎架构
Transwarp Inceptor对Spark进行了大量的改进,具有高性能、稳定性好、功能丰富、易管理等特征,可以 切实解决Spark本身存在的难题。具体而言,星环Inceptor具有以下几点优势:
随着对大数据技术研究的深入,Spark开源生态系统得到了快速发展,已成为大数据领域最活跃的开源项目 之一。Spark之所以吸引如此多的关注,究其原因主要是因为Spark具有以下三方面特征:
高性能:Spark对分布的数据集进行抽象,创新地提出RDD(Resilient Distributed Dataset)的概念,所有的统 计分析任务被翻译成对RDD的若干基本操作组成的有向无环图(DAG)。RDD可以被驻留在内存中,后续的任 务可以直接读取内存中的数据;同时分析DAG中任务之间的依赖性可以把相邻的任务合并,从而减少了大量 的中间结果输出,极大减少了磁盘I/O,使得复杂数据分析任务更高效。从这个意义上来说,如果任务够复杂, 迭代次数够多,Spark比Map/Reduce快一到两个数量级。 高灵活性:Spark是一个灵活的计算框架,适合做批处理、工作流、交互式分析、迭代式机器学习、流处理等 不同类型的应用,因此Spark可以成为一个用途广泛的计算引擎,并在未来取代Map/Reduce的地位。 与Hadoop生态完美融合:Spark可以与Hadoop生态系统的很多组件互操作。Spark可以运行在新一代资源管 理框架YARN上,它还可以读取已有的存放在Hadoop上的数据,这是个非常大的优势。
服务器节点
星环科技推出的基于Spark的交互式分析引擎Inceptor,从下往上分三层架构,最底层是分布式缓存( Transwarp Holodesk),可建在内存或者SSD上;中间层是Apache Spark计算引擎层;最上层包括SQL 2003 和PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。
高性能
首先,支持高性能Apache Spark作为缺省执行引擎,可比原生的Hadoop Map/Reduce快;其次,通过建立 独立于Spark的分布式列式缓存层,可以有效防止GC的影响,消除Spark的性能波动,同时在列式缓存上实现 索引机制,进一步提高了执行性能;再次,在SQL执行计划优化方面,实现了基于代价的优化器(cost based optimizer)以及多种优化策略,性能可以比原生Spark快数倍;最后通过全新的方法解决数据倾斜或者数据量过 大的问题,使得处理超大数据量时也游刃有余。
01
2014 TRANSWARP 星环科技
JDBC
ODBC
SHELL
R-statistical computing
Interactive SQL Engine 编译器SQL2003+PL/SQL COMPILER 优化器COST BASED OPTIMIZER 代码生成CODE GENERATOR
对于广大用户而言,在选择Spark及大数据软件时,高性能、高兼容性和高性价比的技术无疑是用户的最爱, 而星环Spark不仅可以实现三者的有机结合,更在此基础上实现功能扩展,为用户提供更加全面优质的服务,从 而更能打动用户芳心。
03
2014 TRANSWARP 星环科技
Hadoop发行版 TPC-DS对比评测结果
一共99个测试案例,遵循SQL'99和SQL 2003的语法标准,SQL案例比较复杂 分析的数据量大,并且测试案例是在回答真实的商业问题 测试案例中包含各种业务模型(如分析报告型,迭代式的联机分析型,数据挖掘型等) 几乎所有的测试案例都有很高的IO负载和CPU计算需求
这个基准测试的完整信息请参考http://www.tpc.org/tpcds/。 为了使大家进一步了解星环Hadoop发行版的性能,我们选取了国外具代表性的厂商Cloudera及其产品( Cloudera Impala)做对比测试。
统一集群:统一的HDFS和YARN集群,多个计算引擎共存并且访问同一份数据,避免创建隔离的多个集群, 减少数据拷贝或者远程访问,提高效率,也可降低维护成本。 动态部署:可以动态创建和销毁Spark集群,灵活部署业务。适合对非7x24不间断业务(例如周期性统计业 务)的动态部署。 资源隔离:通过YARN的资源隔离和配额管理,可以避免使用同一个Spark集群使用单一调度算法时出现的计 算资源争抢现象,保证每项业务都能顺利完成。星环科技的YARN支持对计算资源和内存资源的管理能力, 避免占用内存资源多的Spark或Map/Reduce集群之间争抢内存资源。 资源共享:在申请资源配额后,如果当前用户的资源紧张或受限,可以动态调配其他用户的闲置资源加入, 当其他用户使用时再归还。
基于R的数据挖掘与机器学习
Inceptor中包含了专业用于数据挖掘的R语言执行引擎,并且扩展了R语言,支持多种分布式数据挖掘算法, 包括统计算法和机器学习算法;也支持在R中调用SQL语句,通过Spark访问分布式内存数据。这些功能使得用 户可以真正在全量数据上进行机器学习或数据挖掘,而再也不用使用采样的方法,精准度得到很大提高。
虽然Spark具有以上三大优点,但从目前Spark的发展和应用现状来看,Spark自身也存在很多缺陷,主要 包括以下几个方面:
稳定性:由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在内存中, Java垃圾回收缓慢的现象严重,导致Spark的性能不稳定,在复杂场景SQL的性能甚至不如现有Map/Reduce。 不能处理大数据:单台机器处理数据过大,或者由于数据倾斜导致中间结果超过内存大小时,常常出现内存 不够或者无法运行得出结果。但是Map/Reduce计算框架却可以处理大数据,因此在这方面Spark不如Map/Reduce 有效。 不支持复杂的SQL统计:目前Spark支持的SQL语法的完整程度还不能应用在复杂数据分析中。在可管理性 方面,Spark与YARN的结合不完善,这就在用户使用过程中埋下隐患,易出现各种难题。
Transwarp Statistics Library
并行统计算法库
Distributed Execution Engine 分布式执行引擎 including Apache Spark
Transwarp Holodesk 分布式内存列式存储
Transwarp Machine Learning
Library
更强的SQL支持
Inceptor提供ANSI SQL 2003语法支持以及PL/SQL过程语言扩展,并且可以自动识别HiveQL、SQL 2003 和PL/SQL语法,在保持跟Hive兼容的同时提供更源自文库大的SQL支持。由于现有的数据仓库应用大都基于SQL 2003,而且国内客户大量使用PL/SQL,因此Inceptor可以支持复杂的数据仓库类分析应用,也使得从原有数据 库系统迁移到Hadoop更为容易,可以帮助企业建立高速可扩展的数据仓库和数据集市。
高性价比
Inceptor支持混合存储体系(内存/闪存/磁盘),Holodesk列式存储可以存放在速度较快的闪存SSD上或者 更快的内存中。内存、SSD和机械硬盘的速度比是100:10:1,而同样容量的内存、SSD、硬盘的价格比也是 100:10:1。采用为SSD优化的Inceptor之后,实际测试发现,采用SSD替代大容量昂贵的内存作为缓存,性能没 有明显的下降,因此可以用同样的价格买到容量大10倍的SSD作为缓存,一方面可以提供跟纯内存缓存接近的 性能,另一方面也可比纯内存数据库处理更大的数据。
TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大 规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据 分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试 集。随着国内外各代表性的Hadoop发行版厂商以TPC-DS为标准测评产品 ,TPC-DS也就逐渐成为了业界公认 的Hadoop系统测试准则。这个基准测试有以下几个主要特点:
测试硬件环境
我们搭建了两个集群分别用于Transwarp Inceptor与Cloudera Impala的测试。每个集群采用4台普通两路 x86服务器搭建,每台服务器硬件配置如下:
CPU 内存 磁盘 网络
两颗Intel® Xeon® Processor E5-2620 v2 (15M Cache, 2.10 GHz, 6 cores) 每个节点128GB内存 6块1TB SATA硬盘, 7200RPM 千兆全双工网络
Transwarp Inceptor 技术白皮书
星环信息科技(上海)有限公司
基于Spark的交互式分析引擎技术解析
基于Spark的交互式分析引擎 技术解析
Hadoop由HDFS和Map/Reduce组成。HDFS仍然是一个高可扩展的分布式文件系统,是大数据软件栈的基 石。Map/Reduce在处理PB级别的数据时,仍然具有高容错性、高吞吐量的特点。但由于复杂的工作流通常需 要多个阶段的Map/Reduce任务,而Map/Reduce的输入输出必须经过低速磁盘,导致运行复杂迭代任务时非常 低效,因此不适合对延时要求高的交互式分析或者需要复杂迭代的数据分析任务。而Spark是一个基于内存计算 的开源集群计算系统,目的是更快速地进行数据分析。 Spark 提供了与Hadoop Map/Reduce 相似的分布式计 算框架,但却有基于内存和迭代优化的设计,因此在交互式数据分析和数据挖掘工作负载中表现更优秀。
2014 TRANSWARP 星环科技
04
Hadoop发行版TPC-DS对比评测结果
我们使用的操作系统是64位的CentOS 6.4,Linux Kernel版本号为2.6.32。Transwarp Inceptor集群部署了 Transwarp Data Hub (TDH) v4.0,包括基准的Hadoop 2.5以及Inceptor。系统配置方面,每台服务器的6块硬 盘中有1块用于操作系统,其他5块硬盘用作HDFS。Hadoop的各种服务的配置如下:
大数据基础技术领域中Hadoop的地位已获得广泛认同,但目前国内外市场上的Hadoop版本也是林林总总, 到底该参照什么标准来考评Hadoop,尤其是给企业应用的Hadoop发行版平台呢?
大家可能都听说过TPC–Transaction Processing Performance Council,它是一个非赢利的标准化组织。它 定义了多组标准测试集用于客观地/可重现地评测数据库的性能。TPC中有个Decision Support(DS)子集, 即TPC-DS,是用于评测决策支持系统(或数据仓库)的标准SQL测试集。这个测试集包含对大数据集的统计/ 报表生成/联机查询/数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS 是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。
2014 TRANSWARP 星环科技
02
基于Spark的交互式分析引擎技术解析
多租户/动态集群创建/自由切换计算引擎
YARN的引入使得统一资源管理成为可能,Inceptor缺省采用星环改进后的YARN,有效支持多个Spark或 Map/Reduce集群,Inceptor的每一条SQL都可以通过简单的提示(hint)来指定执行引擎使用Spark或Map/ Reduce。而通过YARN管理所有资源后,可以具备以下优势:
机器学习算法库
Transwarp HDFS2 分布式持久化数据存储
Transwarp Hyperbase 分布式实时数据库
图一:Inceptor交互式分析引擎架构
Transwarp Inceptor对Spark进行了大量的改进,具有高性能、稳定性好、功能丰富、易管理等特征,可以 切实解决Spark本身存在的难题。具体而言,星环Inceptor具有以下几点优势:
随着对大数据技术研究的深入,Spark开源生态系统得到了快速发展,已成为大数据领域最活跃的开源项目 之一。Spark之所以吸引如此多的关注,究其原因主要是因为Spark具有以下三方面特征:
高性能:Spark对分布的数据集进行抽象,创新地提出RDD(Resilient Distributed Dataset)的概念,所有的统 计分析任务被翻译成对RDD的若干基本操作组成的有向无环图(DAG)。RDD可以被驻留在内存中,后续的任 务可以直接读取内存中的数据;同时分析DAG中任务之间的依赖性可以把相邻的任务合并,从而减少了大量 的中间结果输出,极大减少了磁盘I/O,使得复杂数据分析任务更高效。从这个意义上来说,如果任务够复杂, 迭代次数够多,Spark比Map/Reduce快一到两个数量级。 高灵活性:Spark是一个灵活的计算框架,适合做批处理、工作流、交互式分析、迭代式机器学习、流处理等 不同类型的应用,因此Spark可以成为一个用途广泛的计算引擎,并在未来取代Map/Reduce的地位。 与Hadoop生态完美融合:Spark可以与Hadoop生态系统的很多组件互操作。Spark可以运行在新一代资源管 理框架YARN上,它还可以读取已有的存放在Hadoop上的数据,这是个非常大的优势。
服务器节点