Spark开源栈PM Ram Sriharsha:Apache Spark 2.0概览

【CSDN现场报道】5月13日-15日,由全球最大中文IT社区CSDN主办的“2016中国云计算技术大会”(Cloud Computing Technology Conference 2016,简称CCTC 2016)在北京新云南皇冠假日酒店隆重举行。本次大会以“技术与应用、趋势与实践”为主题,聚焦最纯粹的技术干货分享,和最接地气的深度行业案例实践,汇聚国内外顶尖技术专家,共论最新的云计算技术实践与发展趋势。

北京时间5月13日上午9:40,Databricks,Spark开源栈PM,Spark PMC成员 Ram Sriharsha带来《Spark 2.0概览》的主题演讲。首先围绕什么是Spark展开演讲,其次又介绍了在大数据中所面临的挑战,详细分析Spark近几年的演变过程。他认为Spark非常了不起,是一个很好的工具。并指出Spark基础设施复杂、在这方面的人才有限、编程很困难、扩展性困难都是大数据所面临的最大挑战。

图片描述

Databricks,Spark开源栈PM,Spark PMC成员 Ram Sriharsha

以下为演讲实录:

Ram Sriharsha给大家介绍一下Spark,它的路线图,且在大数据中面临着什么样的挑战,同时,Spark又能够帮助我们如何应对这样的一些挑战。

在2012年的时候Ram Sriharsha提出来,关于在Spark方面是怎么来做的问题,并且在那一年Spark达到了成熟的阶段,Ram Sriharsha认为Spark它是一种分布式的数据群,是一种引擎。首先,大家看到这个要实施非常容易,但是在具体的组织方面非常的复杂,在这儿的整合非常的不错,大家看到它能够进行很好的竞争,这是2012年的情况。

现在我们再回到2016年,至今已经经历了很长一段时间,现在的路线图是这样的,大约在2012年的时候达到成熟期,之后Databricks有了孵化器,2014年Spark1.0版本发布,这让大家可以很迅速地进行拓展,在Spark上有很多工作可以做。

在具体实施方面,Databricks有一些具体项目,它能拓展一些编码,2015年当时Databricks也引入了Spark的DataFrames Tungsten ML Pipelines,再看一下2016年推出的Spark2.0,它允许开发人员做什么样的工作呢,这一方面可能感兴趣的人非常多,先看一下Spark现在的意义是什么,它既是一种统一的引擎,又是拥有一个框架的基础。大家所使用的Spark,在一些平台上可以进行一些迭代,你们可以进行数据收集,再对数据进行分析,这一切构成了数据来源,因此现在Spark可以运行在很多的平台之上。

今年Ram Sriharsha觉得对Spark来说是一个非常了不起的一年,因为Databricks有了一些关于大数据数据开发的项目,Databricks进行了很多的计算,同时在去年Databricks也推出新的语言支持,在行业当中进行了推广,它的增长非常地迅猛,但是大家看一下现在的情况。

大家再看一下Spark的Committer,从2014年到2015年的12月,在全球Spark的发展都非常迅猛,对Sparker来说十分开心。因为越来越多的开发者使用Spark,他们的积极性非常高,有很多人一直在关注Spark的演变,它提供一些创新性和颠覆性的平台。

看一下具体的Spark应用,可以把它分为以下几种:

第一就是企业智能,在BI方面也包括机器的学习。

第二是有关主性发展,越来越多让大家看到时时性的应用。

因此大家可以看到Spark应用的范围是非常广泛的,总之 Ram Sriharsha觉得Spark的应用非常了不起,而且是在短时间之内让整个行业对Spark有了非常高的认知,并且大家把它当做一种非常好的工具和技术。

Spark几乎能做所有的事情,当然对Spark来说它增长的空间也非常大。原因就是大家至今还没有完全解决大数据所带来的挑战,在接下来这几年当中,开发者可以发现在过去几年大数据运用起来困难很大,这一方面后面的讲师会提很多内容,总之大数据实在是太复杂了,而且基础架构管理也非常不好用,另外可以看到对于Spark方面人员的技能技巧可能也不充分,我们缺乏这方面的人才,我们需要弥补这方面的空白,并且Spark编程也非常的困难。

最后一个挑战就是Spark可拓展性是非常好的,但是要进一步的进行拓展,可能还是比较困难的,需要一些专门的技能技巧,之后我会介绍这一方面具体的工作,刚才所提到的都是开发者所面临的大数据的挑战,必须加以解决。

由于对基础架构方面的管理非常困难,比如说设置一个典型的大数据的集群,你必须要进行以下几方面设置,对于PLC必须雇佣专业专家,对他们进行培训才能够进行设置,这对于管理层来说确实是一个很大的负担,而现在Ram Sriharsha告诉大家,在Databricks的论坛上,你们可以非常轻松地解决这个问题,因为对Spark来说,你只需点击一下就可以进行设置,能够帮助你来降低在基础架构管理方面巨大的成本,可以把他们的工作量减少,另外Ram Sriharsha也告诉大家怎么进行Spark应用。

接下来Databricks在管理方面做了很多工作,大家现在进行设置非常容易,在Cloud,Ram Sriharsha刚才提到了一个问题是要找到相关的人才很困难,Databricks的解决方案就是培养人才,Databricks设置了一些相关的学术项目,大家都可以参加,Databricks可以把信息推到很多人面前,你可以参与到Databricks的课程培训当中,Databricks做了很多事情,以确保能够培养人才。

接下来的两个问题是编程非常困难,同时要进行拓展也很困难,实际上关于编程的困难,指的是在数据科学和大数据之间有一个脱节,有的时候大家所提的是大数据的工程,但如果提到数据科学的时候,可能你就不太熟悉。有很多的技术是需要非常高的数据速度进行运作,比如说我们提高到了TB或者PB速度的时候,这时候就必须要使用Spark,怎么能把速度的缺憾得以弥补,怎么提升速率,这里的缺点你不可能一下子就达到,于是需要让大家学一种全新的语言?或者是说Databricks可以给大家弥补空白?Spark的用户如何进行拓展,而数据中心使用了大部分的数据,在这个时候大家可以来使用一些文档,但是对开发者来讲希望Databricks能够给大家提供更多的数据集,它们用起来更加方便。

所以怎么来间接扩展呢?对于Spark的使用可以采用几种方法:第一创造一种API,用尽可能简单的语言表达,并且确保在数据中心里面,它可以有不同的语言去选择,同时也要确保这个平台依然是有效的,也就是说它需要这个平台上面运行,必须在框架里面去处理,而且它们进行任务操作的时候没有太多的障碍。

另一个就是说要对于一些小的数据工具进行无缝整合,开发者需要有能够使用小数据的工具,所以Spark创建了一些模型,可以进行各种分析,有的时候你可能不见得需要特别大规模的扩展模式,当然有时候你需要根据自己的体系的要求来进行扩展,所以说种灵活性很重要。

刚才提到要创建一个尽可能简单的API,你就需要去了解到底在计算机里面应该怎样去描述,所以说你可以进行一些简单的设计,但是如果还想要进一步的优化,之前我们所提到的DataFrames,Spark从这里边学了很多,可以让Spark和DataFrames结合,它可以让开发者用同样的语言,也可以更好地应对竞争,所以说Spark在这方面的交互性非常好,但是Databricks也比较关注它的安全性,所以在整个的环境下,如何在同样的要求下又能够实现它的灵活性?

这就需要Spark的Static数据集,你可以创建一个数据集,可以用一些过滤器或者是一些应用,你可以得到一个专门用于你的用途的编程,而且这是非常有利的,你在DataFrames上也可以这样做,如果你需要更大的安全性你可以有不同的选择,也就是说他可以让你尽可能的简单,同时又可以覆盖各种不同的可选的需求。

还有一点,就是用不同的语言都可以去结合,这都是有很多的技术,Spark可以把你的语言变成自己比较喜欢的语言,这也是一种开发者经常会用到的计算方式,一般来说他跟现在所用的模块都比较类似,而且很多人都比较熟悉这样的模式,所以没有太多关于操作方面的障碍,你也可以把他进行分配,如果这个数据中心只是想进行竞争,你必须要让它变的特别简单,他们用同样的计算方法去实现你的目标,你不需要用两种不同的算法去做,所以他可以支持多种语言,比如说Kmeans可以被培训用Spark,他在这里面选择的语言是Path,一旦他接受了培训模式,就可以保存到系统里面,Path这个模式也是一样的,后续是默认这个语言来进行计算,所以你不需要再去用两种不同的算法去做自己的工作,也就是说使用不同语言的人都可以去利用这样的工具。另外一点,希望除了一些模式以外,希望能将这个模式序列化,也就是说你有这个能力可以去把他们部署在不同的地方。

Databricks可以尽可能的建立一种简单表达的数据集整合,而且各种不同的语言的算法都可以进行绑定,而且可以进行一致性可扩展的执行,且可以和一些小数据工具来进行配合。

另外一个就是怎么能够把扩展能力尽可能的加强,这也是大家比较关注的问题,所以说还是要回到最初的最基本的东西,因为你想要的是把这个速度提升数量级,你要是想特别快,比如说想提高十倍,你不可能只是依赖于原来的方法,也许能优化6%、2%,但是如果说你想达到100%或者99%就很难再依赖于传统的方法。

你必须要从根本上来做一些变化,你就需要看一下你怎么能够更好的去快速解读这些数据,比如某一个数据集的话,你需要进行一个过滤,基本上我们的代码类似这样,然后我们可以进行进一步的升级处理,绝大多数的数据库使用的也是迭代模型。

下一件事情就是说要去了解我们下一步会产生的是什么,比如说过滤器会去进行输入的过滤,如果说有一个应届毕业生,让他在十分钟之内在Java里面执行这个查询,对比一下这个查询和另外一种查询方式之间不同的区别,你可以看到基本上最后的表现会有这样的一个差距,可以看到用传统的方法和新的方法是不太一样的,为什么一个刚毕业的学生就能够打败一个拥用30年经验的研究人员,是因为其实这里面有很多虚拟的功能,而且在内存之内调动数据,而且它可以更好地去进行编码。

Whole-stage Codegen,它就像是一个关于整个排序的操作人员,要了解整个执行和运行的顺序是怎样的,那在这里面最大的一个挑战就是——Spark的路线图,现在其实可以看到,主要是因为大数据特别难以去利用,所以Spark的目的就是希望简化基础设施的管理,现在基础设施的管理非常难,Databricks希望能够使用Spark的集群,实现一键部署,而且现在的人才比较有限,编程也是比较难的。另外扩展的能力也是比较难去实现的,所以说Spark相当于扮演了一个编译器的角色,希望能够简化那些利用大数据的工作,这就是Ram Sriharsha给大家简单介绍的Spark的发展方向和运行的目的,谢谢。

更多精彩内容,请关注直播专题2016中国云计算技术大会(CCTC),新浪微博@CSDN云计算,订阅CSDN云计算官方微信公众号。

阅读更多
想对作者说点什么? 我来说一句

Learning Apache Spark 2

2017年06月14日 16.22MB 下载

Learning Apache Spark 2 epub

2017年09月28日 13.41MB 下载

Apache Spark源码剖析

2017年11月21日 30.37MB 下载

Apache Kylin 2.0Spark构建引擎

2017年05月16日 2.14MB 下载

Spark源码剖析

2018年05月22日 32.39MB 下载

Spark 2.0 for Beginners 无水印pdf

2017年09月29日 8.93MB 下载

Apache Spark in 24 Hours,

2017年11月14日 36.59MB 下载

Spark 性能优化 及详细解决方案

2017年09月04日 3.53MB 下载

没有更多推荐了,返回首页

不良信息举报

Spark开源栈PM Ram Sriharsha:Apache Spark 2.0概览

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭