首页 / 新闻

04.

08

2014

孙元浩:基于Spark引擎的高速内存分析和挖掘工具应用

技术博客

2014年4月19日“中国Spark技术峰会”(Spark Summit China 2014)将在北京召开,国内外Apache Spark社区成员和企业用户将首次齐聚北京。AMPLab、Databricks、Intel、淘宝、网易等公司的Spark贡献者及一线开发者将分享他们在生产环境中的Spark项目经验和最佳实践方案。 在Spark技术峰会召开前夕,记者和本次Spark峰会的演讲嘉宾孙元浩做了一次简单的沟通,他表示将会在4月19日“中国Spark技术峰会”和大家分享如何构建分布式内存列式存储,以及如何利用PL/SQL和R语言对内存数据进行高速数据统计和挖掘!

以下是记者采访原文:

-什么原因吸引你钻研Spark技术?

2012年我们当时仿照Dremel在Hadoop上实现SQL引擎,但是这个项目没有持续下去。因为我们发现对SQL并行化、容错性和扩展性支持最好的仍然是M/R引擎,而不是Dremel或者MPP引擎。所以当时开始转向去研究如何改造或重新实现M/R,这时候开始了解Spark。Spark的架构设计非常优美,RDD和操作原语的抽象,很像早年我们为多核或GPU设计的并行架构,如CUDA。我认为Spark就是我们理想的M/R计算引擎,开始投入全部精力在Spark的开发上。

-对于解决哪些问题Spark独具优势?

我们现在把Spark作为M/R执行引擎内嵌在我们的产品中,在两大类应用实践中比较成功,一类是通过PL/SQL进行交互式数据统计和分析,结合可视化工具为用户提供了高速的大数据探索能力。这类应用传统上使用数据仓库,但由于Spark提供了更快的性能和大数据处理能力,使得用户可以快速得到反馈体验更好。另一类应用是做数据挖掘,因为Spark充分利用内存进行缓存,利用DAG消除不必要的步骤,所以比较合适做迭代式的运算。而有相当一部分机器学习算法是通过多次迭代收敛的算法,所以适合用Spark来实现。我们把一些常用的算法并行化用Spark实现,可以从R语言中方便地调用,降低了用户进行数据挖掘的学习成本。

-目前企业应用Spark最大的困难是什么?

我认为技术上目前已经不存在大的困难。我们已经在一些用户的核心业务系统中部署我们自己的Spark版本,而且是7x24小时不间断运行,稳定性已得到验证。我们也把Spark成功地应用到数据仓库中,无需编程几乎全程可视化。如果说目前面临的最大困难,主要是在客户认知上。过去两年中有很多客户部署了Hadoop,大家得到的经验教训是Hadoop在处理100TB以上的数据是擅长的,但处理小规模的数据比较低效,加上人才缺乏导致的运维困难,使得用户对Hadoop产生了一些误解转而采用混合架构。随着Spark技术的进步,Hadoop加Spark的组合实际上已经极大地提高了处理效率,已经可以解决大中小各类数据处理问题,但是要扭转企业用户的看法,还需要更多的成功案例和技术推广。

-根据您的了解,目前Spark发展的情况如何?

Spark目前的发展理念是通过一个计算框架集合SQL、Machine Learning、Graph Computing、Streaming Computing等多种功能于一个项目中,SparkSQL就是一个例子。Spark周边的一些项目,像TachyonSparkR、BlinkDB等也在快速发展中。Tachyon已经成为RHEL标准yum库中的缺省组件。国内外的应用开始越来越广泛,国外一些大型互联网公司已经部署了Spark。Yahoo是Hadoop的早期主要贡献者,现在也在多个项目中部署使用Spark。国内我们已经在运营商、电商等传统行业部署了Spark,预计今年会有更多的成功案例出现。

-请谈谈你在这次大会上即将分享的话题。

这次大会我会介绍一下Spark的两种典型的应用,一个是如何充分利用Spark的优势进行交互式SQL数据分析;另一个应用是如何组合使用R语言和Spark进行分布式的数据挖掘。

-哪些听众最应该了解这些话题?

下列听众可能对这个话题感兴趣:希望对企业拥有的大数据进行分析和挖掘的最终用户;曾经使用过Hadoop但体验不佳的用户或开发人员;数据量在从TB到PB快速增加的用户或者数据量在10TB以下但想体验新技术的用户。

关于孙元浩

2003年加入英特尔,曾是英特尔亚太研发有限公司数据中心软件部亚太区CTO,负责英特尔Hadoop发行版的研发和产品化工作。 2013年离开英特尔创办星环科技,推出国内首个基于Spark的大数据平台产品,在中国成功建立数个Spark成功案例。