WOT架构师系列访谈(6)Databricks研究员连城

原创
新闻
1CTO 2014 WOT全球软件技术峰会将在2014年7月25-26日在北京富力万丽酒店召开。我们将陆续公布会议内容,并针对即将参会的架构师访谈,以便大家进一步了解会议内容。本次访谈的对象是连城老师,是Spark方面的专家。

【编者按】 51CTO 2014 WOT全球软件技术峰会将在2014725-26日在北京富力万丽酒店召开。从本周开始,我们将陆续公布会议内容,并针对即将参会的架构师访谈,以便大家进一步了解会议内容。会议详细议程见: http://wot.51cto.com/2014/

本次访谈的对象是DataBricks软件工程师、Intel物联技术研究院研究连城,毕业于浙江大学;《Erlang/OTP并发编程实战》及《Erlang并发编程(第一篇)》译者。目前专注于Apache Spark分布式内存计算框架。在本次WOT全球软件技术峰会上,连城将为我们带来Spark方面的技术分享。

连城(微博@连城404

以下是访谈实录:

记者:最近,Cloudera已经宣布抛弃MapReduce,拥抱Spark。您认为是什么原因让Cloudera决定采用Spark

连城:说抛弃未免危言耸听了,毕竟Hadoop MapReduce仍然是当前大数据领域应用最广泛、生态最完善的分布式计算框架。不过相对于MapReduceSpark确实体现出了令人印象深刻的优势。实际上,从DataBricks近期的官方博客上可以看出,除了Cloudera以外,MapRPivotalDatastax等老牌大数据厂商都对Spark敞开了怀抱。Hortonworks也于五月份推出了HDP 2.1 Spark组件的技术预览版。

传统MapReduce只有mapreduce两个阶段,在表达较为复杂的分布式计算任务时,难免要引入一些map-only型作业,作业和作业之间又只能以HDFS为媒介进行数据交换,这是MapReduce效率低下的主要原因。和GoogleDremel、微软的DryadHadoop 2Tez等系统类似,Spark以有向无环图(DAG)来表示计算,可以通过流水线优化有效合并不必要的map-only型作业,缩减作业数量;同时,与DremelDryadTez等现有系统不同的是,Spark采用弹性分布式数据集(RDDResilient Distributed Datasets)作为数据共享抽象,可以有效利用集群的内存共享被多个作业频繁使用的数据,消除了不必要的HDFS访问开销,从而大大提升作业的执行效率。以上两点,使得Spark在以机器学习为代表的迭代型计算上表现出众,可以轻松胜出MapReduce一到两个数量级。

与此同时,实验数据和Twitter等公司近期的实际工程经验也证明,即便是针对非迭代型的工作流作业,Spark的性能也比MapReduce高出近一个数量级。原因在于传统MapReduce采用的是进程级并行和基于心跳的同步通讯,而Spark采用的是线程级并行和异步通讯。这使得Spark的任务启动开销和任务调度开销大大降低。再者,对于应用层不需要排序的作业,Spark不会像MapReduce那样一视同仁地在mapper端进行代价高昂的排序操作,又进一步削减了作业的平均延迟。

最后,RDD这一数据共享抽象,使得Spark能够在一套框架内有效表达批量计算、交互式查询、流计算、图计算、SQL关系查询等多种数据分析范式,甚至允许用户混合使用多种范式共同搭建一体化的大数据流水线。这一点是性能因素之外Spark最大的亮点。

记者:Spark的数据处理能力很强大。但有一种声音表示Spark作为一种内存计算框架,在处理大数据量时,集群的内存总量会成为巨大的瓶颈。这会给Spark的应用带来什么样的影响?

连城:内存计算的确是Spark的一大卖点。很多新手都容易产生这样一个误区,认为必须要将完整的数据集装入内存才能进行内存计算。这显然是不必要的,否则仅就当前常见的集群内存容量,Spark根本不可能踏入大数据这个领域。对于内存计算框架而言,直观上的确是集群内存总量越大越好,但内存总量不高并不会带来太大的限制,最多是作业的执行效率有所下降。原因有四:第一,根据来自FacebookHive数据仓库的统计,绝大部分计算任务的完整数据集都可以放入集群的内存;第二,在大部分任务中,需要反复频繁使用、值得进入内存缓存的数据往往是总体数据集中的一小部分(例如从1TB日志数据中过滤出的50GB错误日志数据);第三,具体到单个工作节点,对于不进入内存缓存的数据,Spark访问数据时是利用iterator逐条记录按流式访问的,并不会不分青红皂白地一次性将所有输入数据都加载进内存;最后,在内存不足的情况下,Spark可以妥善地线性回退,不至于出现剧烈下滑。

阿里、百度、京东、淘宝、谷歌、Facebook、Tesla都到2014 WOT全球软件技术峰会了,你还等什么?这些顶级的公司将首次对外公开技术,涵盖八大主题,共有40+课程,部署实施、运维开发、大数据、Spark、敏捷开发一个都不少。除了第一手的经验之外,还有未来两三年的技术趋势,你会让自己错过这样的技术大会吗?

 

【编辑推荐】

 

责任编辑:彭凡 来源: 51CTO
相关推荐

2014-05-29 09:41:19

方少森WOT架构师WOT2014

2014-06-06 17:01:34

杨光WOT架构师WOT2014

2014-05-13 23:24:18

WOT技术峰会袁斌WOT2014

2014-05-20 10:25:16

刘宇WOT架构师WOT2014

2014-05-16 10:13:34

WOT架构师WOT2014朱金清

2014-06-05 13:27:13

孔德亮WOT架构师WOT2014

2014-05-29 10:05:34

wot架构师王川WOT2014

2014-05-26 09:22:02

WOT技术峰会杨立东WOT2014

2015-10-10 17:43:01

360刘鹏大数据

2020-09-21 14:25:26

Google 开源技术

2022-06-15 18:57:43

人工智能

2021-02-21 00:18:47

恶意软件研究职业技术

2015-07-01 17:32:05

WOT2015运维安全朱磊

2010-09-09 08:41:34

2011-07-30 13:22:49

2020-12-23 17:50:46

AI语言模型AI伦理

2020-08-24 08:15:29

软件互联网分布式

2022-03-30 15:30:38

程序员编程技术

2015-06-26 10:36:17

WOT2015

2015-07-09 13:53:35

WOTDBA
点赞
收藏

51CTO技术栈公众号