说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Spark独门秘籍:打造结构一体化、功能多元化的高效数据流水线

HTML文档下载 WORD文档下载 PDF文档下载
连城讲到,Spark作为一套用Scala写成的分布式内存计算系统,很好地结合了分布式系统和函数式语言,目前Spark的覆盖面已然相当广泛。他称Spark的独门秘籍便是“打造结构上一体化、功能上多元化的高效数据流水线。”

2014年4月19日“中国Spark技术峰会”(Spark Summit China 2014)将在北京召开,国内外Apache Spark社区成员和企业用户将首次齐聚北京。AMPLab、Databricks、Intel、淘宝、网易等公司的Spark贡献者及一线开发者将分享他们在生产环境中的Spark项目经验和最佳实践方案。

在Spark技术峰会召开前夕,记者和本次Spark峰会的演讲嘉宾连城做了一次简单的沟通,他就Spark技术优势、Spark技术发展、企业应用Spark遇到的困境等话题分享了自己的看法。

连城

Intel物联技术研究院研究员,Spark contributor
目前专注于以Apache Spark为主的大数据处理平台,即将加入Databricks。


以下是记者采访原文:

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

最初接触Spark纯粹是出于个人兴趣。我感兴趣的技术方向主要有二,即分布式系统和函数式语言。Spark作为一套用Scala写成的分布式内存计算系统,很好地结合了这两个领域。Spark提供的Scala API本身也很类似于一套分布式、惰性求值的纯函数式语言。然而后来,越是深入探寻,便越是被Spark所吸引。Spark背后的不少想法在先前的系统中或多或少都有所体现,但Matei Zaharia博士众人非常巧妙地集众家之所长,融会贯通,克服了众多旧有特化系统中的各种缺陷,浓缩提炼出了RDD(Resilient Distributed Dataset,弹性分布式数据集)这一高度通用的抽象结构。围绕RDD这一核心,AMPLab团队以扎实的工程功底和开放的心态,打造了全新的Spark生态圈,又以Spark为核心提出了极富创意的BDAS(Berkeley Data Analytics Stack,伯克利数据分析栈)。在研究成果的工业转化方面,AMPLab团队可谓典范:他们不仅是富有远见的科学家,也是功力深厚的工程师,同时还扮演着开源社区中循循善诱的良师益友角色。正是基于以上这些原因,去年得知Spark核心团队创办Databricks后我便力求加盟,并最终幸运地得偿所愿。能与这样一群杰出的同事工作,本身就是一件令人非常兴奋的事。

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

随着大数据相关技术和产业的逐渐成熟,单个组织内往往需要同时进行多种类型的大数据分析作业。如:传统Hadoop MapReduce最为擅长的批量计算、各种机器学习算法为代表的迭代型计算、流式计算、社交网络中常用的图计算、SQL关系查询、交互式即席查询等等。在Spark出现之前,要在一个组织内同时完成数种大数据分析任务,就不得不与多套特化系统打交道,一方面引入了不容小觑的运维复杂性,另一方面还免不了要在多个系统间频繁进行代价高昂的数据转储(ETL)。AMPLab在介绍以Spark为核心的BDAS时常说的一句话是:one stack to rule them all,也就是说可以在一套软件栈内完成前述各种大数据分析任务。相对于MapReduce上的批量计算、迭代型计算以及基于Hive的SQL查询,Spark更是可以带来一到两个数量级的效率提升,在传统MapReduce近乎不可能的交互式即席查询也因而得以实现。这种“全能”特质,很大程度上源自RDD这一合理抽象和AMPLab/Databricks团队扎实的工程功底。当然,Spark并不真的是全能的。RDD模型适合的是粗粒度的数据并行计算,而不适合细粒度的、需要异步更新的计算;对于这些计算需求,如果要追求极致的性能,还是需要求助于特化系统(如图计算领域的GraphLab等)。但就现有成果来看,Spark的覆盖面已然相当广泛。简而言之,Spark的独门秘籍便是打造结构上一体化、功能上多元化的高效数据流水线。

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

据我有限的了解,最大的困难还是人才方面的短缺。无论Spark还是Spark所使用的Scala,都还是相当年轻的事物。虽然它们各自都已经吸引了大批富有远见和才华的开发者,但不得不说距离大规模普及还有相当长的一段路要走。另一个相关问题是Spark方面的参考材料还不多。目前社区内开发者们主要的学习方式还限于阅读有限的官方文档、源码、AMPLab发表的论文,以及社区讨论。所幸Fast Data Processing with Spark一书的中文版已经在翻译中;由O'Reilly出品,来自Spark核心团队的Learning Spark今年也有望面世。

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

评价一个开源项目发展情况的重要指标之一就是该项目的贡献者人数。对于这一点,在去年12月份的Spark Summit上,Spark的创始人Matei Zaharia博士十分自豪:“过去六个月内,Spark的活跃开发者人数超过了Hadoop MapReduce!”那时Spark贡献者总人数是103人;而今四个月过去了,根据GitHub最新的统计,这一数字已然增长到了153人。特别值得一提的是,在最近发布的几个版本中,华人开发者的人数飞速上升。Spark项目主站中Powered by Spark页面中不断增长的公司列表也是Spark在工业界稳步推进的有力证明。这份列表中不乏阿里巴巴、百度、点评、搜狐等中国企业的身影。如前所述,Spark的推广还任重道远,但其良好的向下兼容性、相对传统方法的显著优势,以及来自社区的巨大热情令我非常看好Spark的发展前景。

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

 本次大会上,我将为大家介绍新近加入Spark主线版本的alpha组件Catalyst/Spark SQL。在去年的Spark Summit上,Catalyst的主要设计者Michael Armbrust曾将Catalyst描绘为一套简洁强大的SQL查询计划优化框架。随着时间的推移,Catalyst已经逐渐进化为一整套完整的SQL on Spark解决方案并更名为Spark SQL。后续Catalyst/Spark SQL有望成为Shark的新引擎。Catalyst/Spark SQL的特点主要包括: 向下兼容HiveQL,可以操纵现存的各种Hive数据格式。 支持针对原生RDD对象的关系查询;用户既可以选择HiveQL,也可以选择Catalyst提供的精简SQL子集或Scala DSL,从而完全摆脱对Hive的依赖。 在执行效率方面,Catalyst内建的查询优化引擎可以对用户编写的HQL/SQL查询进行有效优化,从而有效减轻用户在Spark应用性能调优方面的负担。 借力于Scala 2.10新近的反射能力,Catalyst实现了一套可扩展的代码生成框架,可以针对特定逻辑直接生成字节码,进一步提升性能。

 - 哪些听众最应该了解这些话题,这个话题可以帮助听众解决哪些问题?

所有正在应用Hive、Shark等SQL data warehouse的听众都应该会对这个话题感兴趣。相对于Hive,和Shark一样,Catalyst可以提供一到两个数量级的性能提升,实现真正的交互式大数据即席查询。相对于Shark,Catalyst提供了针对原生RDD对象的关系查询支持,并且在保留Hive兼容性的前提下进一步解耦了对Hive的依赖,精简了代码库;全新的执行计划优化和代码生成框架简洁清爽,为更进一步的性能提升打开了更大的想像空间。


更多精彩尽在2014年4月19日中国Spark技术峰会,3月31日前购票订票可享受最低票价优惠。


以“ 云计算大数据 推动智慧中国 ”为主题的 第六届中国云计算大会 将于5月20-23日在北京国家会议中心隆重举办。产业观察、技术培训、主题论坛、行业研讨,内容丰富,干货十足。票价优惠,马上 报名 ! 
10大最实用的Raspberry Pi扩展设备推荐 主流浏览器性能测试,IE10百分百完胜! TortoiseSVN的基本操作 再见,Fireworks! 投资者告诉诺基亚CEO:他们快没耐心了 直接拿来用!最火的Android开源项目(二) 营收奇迹:三消游戏Candy Crush Saga成功启示录 马化腾对话李连杰:移动互联网的能量有多大? UC与趋势科技携手,移动浏览器加固安全 乐视发布超级电视X60 售价6999元 巨头们抢滩或已结束?EMC掀起首场SDN登录战 CloudStack创始人梁胜:让中国软件走向世界 ArduinoDroid:让你在Android设备上开发Arduino 码农们的机器人:LEGO MindStorms EV3 详解 JavaScript 中的 this 对话PaaS平台dotCloud布道师:“轻量级”与“重量级”虚拟化 微软:谷歌企业生产力软件依然不行 IT旅途——程序员面试经验分享 17岁女高中生赢得编程马拉松大赛冠军 雅虎宣布开发新的搜索工具 创新用户界面 前谷歌高管给初入职场新人的14条忠告 业界良心 Facebook下一步将开源交换机 Google Glass:未上市先遇阻 TIOBE 2013年5月编程语言排行榜:Objective-C再度反超C++ 开发者需知的10类工具 林仕鼎:架构设计与架构师 跨平台工具火拼:Icenium与PhoneGap Build谁属王者? 索尼终于想明白了:PlayStation生态走向开放 高达10亿美元,Facebook为什么要收购Waze? Cocos2D-X成全球第二大游戏引擎 仅次于Unity 亲爱的苹果,能不能别让应用太廉价? 谁能告诉我学VC的步骤和教材啊,还会加分啊 如何将一个可以滚动的窗口的全部内容转换为BMP保存起来(如:IE)?(提供线索就有分)欢迎参与成果供享!!! 请教关于VsPrint Oracle8i Enterprise Manager Release 2.1 相当于ORACLE8.1.几啊? 使用ListView如何操作数据 ★★★简单问题送100分★★★:如何打印框架容器里的的全部内容,包括mschart图表,label,combox等? 我的DW里加入FLASH特效时为什么中文会变成乱码?我给分的............ 我感到天昏地暗、日月无光、前途渺茫、无心睡眠、精神恍惚、双目痴呆相恋8年准备结婚的女友突然和别人结婚了!我受不了了!我快疯了! 请教有关IE5带的ActiveX控件Dhtmled.ocx的98下安装问题 程序员与高级程序员到底那个好过 关于 delphi的一点东东 access一个日期时间字段是短格式的,用什么SQL语句改成长格式的? 怎样才能在主页中显示自己的qq是否在线?????? 有没有平面按钮控件 Interdev6.0 IDE 环境下无法使用MSDN access一个日期时间字段是短格式的,用什么SQL语句改成长格式的?? 大家来帮帮我想想?应该怎么样来删除呢!!!! 各位用VB.net的兄弟,请问你们使得是 Beta1 还是 Beta2 ? 迷周星弛的请来签名啊! 如何操纵RichTextEdit控件??? 我得到GIF图像的这一点的值,怎样得到它的正确的RGB值? 我想请问在CHTML(compact html)中如何对页面进行刷新。 各位老大,你们是如何找到工作的? 在VB.net中,如何实现VB6中的 set A=createobject("XXXX.XXXX") 诸位大虾救命,如何在EDIT控件中判断DBCS字符 !!求救!!对时!!! 在VC中使用Crystal report 8的问题 如何编写c程序自动对GIF图片设置大小 请教:鼠标在windows桌面上按键是否会引发某个事件? 查看DLL的输出函数 menu的问题 web的组件由什么来编写? 嵌入式数据窗口,怎样可以动态往里插数据窗口??? 在DELPHI中如何调用NETBIOS的API函数 AddNew 怎么用?- 怎么办那,啊? 问题标题前的绿色的对号是什么意思?是不是表示问题已经解决? 怎么学VC啊,菜鸟的菜菜的问题啊。 关于打印比较 提取汉字的拼音 四级挂了,给分,气死了 难题时时有,把它问诸位,不知哪位高手,今日肯帮俺------解决送个人照片(不知各位肯要否?) 刚考完英语四级,来这里发泄一下。同时送上300分! PHP和JAVA如何通讯? 请问哪里有 soft-ice for 2k 如何将字符串的首尾空格去掉??? 1分钟求解:与HEX()对应的把16进制转换成10进制的函数是什么? 怎样判断某个控件是button、edit还是combox、listctrl......? VB.NET(VS.NET)/Beta2正式版下载地址与安装方法 有人用VsPrint吗? delphi、vc、c++ builder三者,哪一种是你的最终选择,why? (2x-3)(2x-3)=x²-6x+9 解一元二次方程 1x(1+2)分之2+(1+2)x(1+2+3)分之3...1+2+.9)x(1+2+.10)的10次方 解方程 8.8x-2.4x=3.2 4.6x+5.4x=10.89 3(x+1.解方程8.8x-2.4x=3.24.6x+5.4x=10.893(x+1.7)=9.6(x-4.5)6=31.8 2x²-2x-3=0 解一元二次方程急! 2分之1X :3=(X+1):9 求X 求1/5X+1/4X=1/5X+8+1/5X方程的解法 1.(x+2)²-5=0 2.2x²-x-3=0 3.x²-6x-5=0 4.(x+3)²=2x+6 运用一元二次方程的方法解 (170-x)*3/1-4/1x=10怎么解 求(4x-10)=5/7(5x-8)的详细解法,要小学水平,谢谢! 解方程:5分之2+5分之1X=2 已知x是一元二次方程x的平方+3x-1=0的实术根,那么代数式 (x-3/3x平方-6x)/ (x+2-5\x-2)的值是多少?已知x是一元二次方程x的平方+3x-1=0的实术根,那么代数式(x-3/3x平方-6x)/ (x+2-5\x-2)的值是多少?《不好 1-2/1x(1+2)-3/(1+2)x(1+2+3)-4/(1+2+3)x(1+2+3+4)-……-10/(1+2+3+4+5+6+7+8+9)x(1+2+3+4+5+6+7+8+9+10) 解方程.2分之1X+3分之1X=20分之1 X分之0.5=0.8分之3 X:3.25=5分之1:4分之5 已知x是一元二次方程x的平方减二x减八的根,求代数式3x的平方-6x分之x-3÷(x+2- x-2分之5的)的指值 25分之6比X=50,解比例 还有4分之1X+5分之1×45=12 1x=(1-20%)乘(x+6)解方程 解方程14x+x=2520 X+5分之1X=25分之12 1、方程-0.1x=1的解是________.2、方程3(y+2)=y的解是________.3、方程2x+3=4x-3的解是________. 14x-x=169怎样列方程 x-6分之1x等于5 x+4分之3等于21 (1+3分之1)x等于12求过乘,和怎么算出来的, 1).-2X=3,2).x+2=-1,3)4X-3=9,4)4-2/1X=5,给这几题解方程~.. (1)化简求值:2x^2+14x+24分之x^2+16+8x,其中x=-6当x=3,y=-2,求x^2-(y-1)^2分之x^2-y^2乘以x^2+2yx+y^2分之(x-y)^2-1除以x^2+xy-x分之x^2-xy的值、怎么做, x+4分之1X=1.5 6分之5/[1-(4分之3+12分之1)]答对我采纳额外加30悬赏 1又3分之1x+8×2分之1=16(解方程) 解方程 x(x+1)(x²-2x-4)=0 x³-2x+1=0 x的4次方+8x³+14x²+8x+1=0 x+4/1x=5怎么解方程 m为何值时,一元二次方程m(x²-2x+1)-2x²+x=0(1)有两个不相等的实数根?(2)有两个相等的实数根?(3)没有实数根? 解方程5/6*42-14x=7 解方程:(22-X)*4分之1-5分之1X=1 已知一元二次方程x²-2x m=0若方程的两个实数根为x1、x2,且x1+3x2=3,求m的值 解方程解方程10x/2+12=14x/2 x-3分之1x=0.36解方程 已知关于x的一元二次方程x²-2x-m=0有实数根 解方程:4x+10=2x-5 解方程2分之1x+25%=10 急,解一元二次方程:-x²/4+5/2x=0 解方程(10+2x)(76-4x)=1080 解方程 3分之1x+4分之1x=3分之2 x-0.75x-0.25=1 0.8x-14.7=1.3 1.2÷4分之x=5 3.6x+5.3=16.1 一元二次方程x²+2x=5的根的情况下? 解方程13x—4十2x=4x—3 当x为何值时 (5x+1)/2-3x比式子(7x-5)/3的值大5? 2x²-2x=5 (x+3)²=(1-2x)²两个一元二次方程的解, (4x+2x)/7=3解方程 解方程x(14-x)x1/2=24 x²+2x-5/4=0 一元二次方程 解方程:1/4x=-1/2x+3快,急 1x+3.6=11.2怎么解方程? 解几个方程,①x(x+1)(x+2)(x+3)=3 ②x^4+8x^3+14x^+8x+1=0 ③x(x+1)(x^2-2x-4)=0 解方程,3/4X+1/2X=9/4 2分之1x=4分之3解方程 x^2+2x+3一元二次方程的值为0则3x^2+6x-1值为 26-3x=5 怎么解方程?26-3x=5怎么解方程? 解方程:5/8X-21/8=5/4 已知m,n是一元二次方程x²-3x+1=0的两根,则代数式2m²+4n²-6n+2000的A2014B2013C2011D2012已知m,n是一元二次方程x²-3x+1=0的两根,则代数式2m²+4n²-6n+2000的值A2014B2013C2011D2012 用配方法解方程:(3x+5)(3x-5)+6x=-26 8x/3分之4=5分之3-2解方程我快急死了..... 若一元二次方程2x²-6x+3=0的两根是α,β,求(α-β)²的值 1x(1+2)分之2+(1+2)x(1+2+3)分之3...1+2+...9)x(1+2+...10)的10次大大 -11-6x=7+8x -3+2-7=4x-15-8x ( 解方程)7x-6-8x+12=-3x+9-3+2-7=4x-15-8x
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn