您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  要资料 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
   
 
  
每天15篇文章
不仅获得谋生技能
更可以追随信仰
 
 
     
   
 订阅
  捐助
取代而非补充,Spark Summit 2014精彩回顾
 
作者 王东&辛湜  火龙果软件  发布于 2014-07-21
493 次浏览     评价:      
 

Apache Spark开源生态系统在2014上半年大幅增长,已迅速成为大数据领域中最活跃的开源项目,HDFS位列第二,其代码变动次数(commits)和行数仅仅有Spark的一半:

  • 有超过50个机构250个工程师贡献过代码
  • 和去年六月相比,代码行数几乎扩大三倍。

随着1.0版本于5月30日推出,Spark提供了一个稳定的API,开发人员可以依靠它来保证代码的兼容性。所有主流的Hadoop发行商,包括Hortonworks、IBM、Cloudera、MapR和Pivotal都提供了Spark的包装和技术支持。

会议第三日培训

伴随着Spark平台的发展,Spark Summit2014于6月30日在旧金山正式展开为期三天的峰会,也是有史以来最大的Spark会议。

  • 大会收到了包括SAP、IBM、Intel、Amazon和Cloudera等近30个公司的赞助
  • 1000多位从事大数据应用和开发的专家注册了会议
  • 300多名开发者和数据科学家参加了第三天的培训
  • 12位来自Databricks、SAP、Cloudera、MapR、DataStax和Jawbone等公司的高管发表了主题演讲
  • 大会共设50个技术讲座,分为特色应用、开发、数据科学与研究三个领域

在这篇文章中,我们将一同回顾这次峰会的亮点。

Spark开源生态系统的现在和未来

1. Spark创始人、Databricks CTO Matei Zaharia:Spark在大数据领域的角色

Mate Zaharia在加州大学伯克利分校AMPLab博士生涯的时候设计和编写了第一个版本的Spark,在圆满完成博士生涯后,目前是Databricks公司的CTO,并将在麻省理工学院出任助理教授职位。Matei是此次峰会的第一个演讲人,他首先回顾了Spark在社区规模和技术能力上的最新进展。自2013年12月的首次Spark Summit以来,Spark的开源贡献者已经从100位增加至250+,已成为大数据领域最活跃的开源项目。Spark新增了一些重要的组件,如Spark?SQL运行机制,一个更大的机器学习库MLLib,以及丰富的与其它数据处理系统的集成。关于Spark在大数据领域未来角色,Matei设想Spark很快会成为大数据的统一平台,各种不同的应用,如流处理,机器学习和SQL,都可以通过Spark建立在不同的存储和运行系统上。

2. Databricks联合创始人Patrick Wendell:展望Spark的未来

Patrick Wendell是Apache Spark的项目管理会成员,曾在伯克利分校攻读博士学位,与2013年离开伯克利帮助创建了Databricks。目前他在Databricks从事开源管理工作,在技术上侧重于Spark和网络操作系统的关系。在这个演讲中,Patrick回顾了Spark的快速增长,他强调Spark的未来将提供由各领域的专家领导开发的强大的程序库。为了实现这一目标,他阐述了应该采用的发布流程和节奏,以提供完整的互操作性与稳定的版本,同时支持快速的开发。各种程序库应与Spark核心API高度策划和整合在一起。Spark核心会不断改进,以推动未来的创新。Patrick讲解了现有的主要Spark库和它们各自的发展方向,包括支持结构化数据的Spark SQL、Spark Streaming、用于机器学习的MLLib以及SparkR和GraphX。

Databrick Cloud 产品发布

1. Databricks CEO Ion Stoica:Databricks公司的进展和产品发布

Databricks CEO Ion Stoica

Ion Stoica是Databricks公司的CEO。他是加州大学伯克利分校计算机科学系的教授,并与2013年参与创办了Databricks。Ion首先阐述了Databricks公司为推进Spark在工业界的应用所采取的两个措施。

  • Databricks和Spark的分销商:Cloudera,DataStax,MAPR和SAP,建立了伙伴关系,以提高用户的体验。
  • 今年二月,Databricks推出了Spark认证计划,以确保经认证的应用程序可以运行在任何经过认证的Spark发布上。

Ion主题演讲的重点是推出Databricks Cloud。Ion列举了当前从数据到价值过程中的种种障碍,Databricks Cloud的推出就是为了使大数据容易。Databricks Cloud能够使用户方便的创建数据处理的整个流程,同时支持Spark现有的应用,并加入了许多增强和附加功能。Databricks Cloud的设计初衷就是要大大简化大数据处理的的复杂性,它会吸引更多的企业用户从事到利用大数据来实现全新的价值。

Databricks Cloud由Databricks Platform,Spark和Databricks Workspace三部分组成。Databricks Platform使用户非常容易的创建和管理Spark计算机群,目前运行在Amazon AWS上,不久将扩展到更多的云供应商的设施上。Databricks Workspace由notebook、dashboard和一个job launcher组成:

  1. Notebook提供了丰富的界面,允许用户进行数据的发现和探索,交互式绘制结果,把整个工作流程变为脚本执行,并支持用户之间的交互协作。
  2. 使用dashboard,用户可以选择任何以前创建的notebook,通过WISIWYG编辑器将所选的notebooks组装成一个dashboard,并发布给更多的用户。Dashboard上的数据和查询还可以定期刷新。
  3. Job launcher允许用户运行任意的Apache Spark任务,从而简化构建数据产品的过程。

2. Databricks联合创始人Ali Ghodsi:现场演示Databricks Cloud

Ali Ghodsi与2013年共同创立Databricks,现任工程主管。通过Databricks Cloud,Ali希望轻松完成简单的任务,并使复杂的分析成为可能。他演示了仅需点击鼠标几次就可以方便的在AWS上建立一个Spark计算机群。使用一个关于FIFA世界杯的示例数据,他演示了notebook,交互式用户界面,绘图,参数化的查询和dashboard。关于大数据分析,他使用Spark SQL交互处理了一个3.4 TB的推特数据集。Ali重点演示了通过机器学习来进行实时概念搜索。他首先使用MLlib在一个60GB维基百科数据上建立了一个TF-IDF词模型,并用Scala基于此模型建立了一个不同词之间的相似函数,还在Spark SQL上注册了此函数。最后使用Spark Streaming生成一个tweet流,并用Spark SQL过滤出和用户给出的搜索词相关的tweets,比如搜索足球会显示世界杯的tweets。这个演示在听众中得到极高的评价。人们惊叹演示中复杂的数据流程和分析的无缝集成,大家认为Databricks Cloud使自己可以更专注于分析本身,而不是花费大量时间精力来建立数据的流程设施,这会给他们公司业务的增长提供直接的动力。

Apache Spark和大数据产业

出席本次峰会的有SAP、DataStax、Cloudera、MapR等公司的高级主管,他们关于Spark和大数据产业的主题演讲非常精彩。

在峰会上,Databricks和SAP宣布成立合作伙伴关系,在SAP HANA平台上包装经过认证的Spark。SAP高级副总裁Aiaz Kazi介绍了SAP的HANA和Apache Spark之间的协同效应,它们的结合给企业大数据提供了更好的支持。

Hortonworks前CEO/CTO Eric Baldeschwieler(也称Eric 14)重申了他的观点:“Apache Spark是当今大数据领域最激动人心的事情”。他认为Spark社区的一个重要目标是使Spark在数据科学和现实世界应用中大放异彩。为此他概述了几个任务,如建立一个开放的认证套件,更好的支持多个Spark计算机群并存,提供便携性的存储等。

Cloudera的CSO和共同创始人Mike Olson发表了主题是Spark作为下一代大数据MapReduce标准模式的演讲。Mike描述了Spark在Cloudera产品中的重要地位:在过去一年所有Cloudera支持的项目中,Spark的开源代码更新活动占总数的21%。Spark已经完全融入CDH,并被Cloudera的主要客户采用。关与SQL在Hadoop上运行,Cloudera会继续支持用与BI分析的Impala,用于批量处理的Hive on Spark,以及用于混合Spark和SQL应用程序的Spark SQL。

MapR首席技术官和创始人MC Srivas说,MapR平台包括完整的Spark成员。Spark的优点包括易于开发,基于内存的高性能和统一的工作流程,Hadoop的优点包括规模可无限扩展,通用的企业平台和广泛的应用范围。通过结合Hadoop和Spark的优势,可以给MapR客户提供更好的支持。他展示了几个在不同领域的案例,包括广告优化,基因组合,网络安全和保健保险。

DataStax执行副总裁Martin Van Ryswyk的演讲是关于如何整合Spark和Cassandra。他宣布推出cassandra-driver-spark v1.0。DataStax的Cassandra与Spark的组合比优化后的Hadoop on Cassandra速度快2到30倍。

Spark的SQL支持

1. Spark SQL的主要开发人员Michael Armbrust:使用Spark SQL进行高级数据分析

Spark SQL是Spark1.0中最新的一个alpha组成部分。在峰会上,Databricks宣布,已停止对Shark的开发,Spark SQL将是其开发的重点。Spark SQL允许开发人员直接处理RDD,同时也可查询例如在Apache Hive上存在的外部数据。Spark SQL的一个重要特点是其能够统一处理关系表和RDD,使得开发人员可以轻松地使用SQL命令进行外部查询,同时进行更复杂的数据分析。除了Spark SQL外,Michael还谈到Catalyst优化框架,它允许Spark SQL自动修改查询方案,使SQL更有效地执行。

2. 英特尔软件与服务部门工程经理Grace Huang:StreamSQL

为了使SQL用户迅速掌握流处理,StreamSQL支持通过SQL操作流数据,它建立在Spark Streaming和Catalyst优化框架之上。目前,它支持流之间简单的查询以及流和结构化数据之间的相互操作,也支持在Catalyst中的典型用法(如LINQ表达式,SQL和DStream的结合)。StreamSQL今后的工作将包括移动窗口支持,使用Hive的DDL,统一的输入/输出格式等。

R和Cascading作为Spark的前端

1. 加州大学伯克利分校Zongheng Yang:SparkR

R是数据科学家们进行分析和绘图的最广泛使用的语言之一,但是它只能运行在一台计算机上,当数据大到超过其内存时,R就会变得无能为力了。SparkR是R的一个程序包,因此它提供了在R的环境中使用Spark的一个简易方法。SparkR允许用户创建RDD并用R函数对其进行变换。在R交互环境中可以给Spark计算机群提交作业。在SparkR中还可以方便地利用现有的R程序包。

2. Concurrent公司副总裁Supreet Oberoi:Cascading on Spark

Cascading是一个流行的应用程序开发框架,可用来构建以数据为中心的应用程序。它使用Tap和Pipe的概念,从而提高了用户建立MapReduce程序的抽象水平。Cascading 3.0版包括一个可定制的查询规划方案,所以Cascading程序可运行在包括本地内存、Apache?MapReduce和Apache?Tez的后端环境上。即将发布的3.1版将可运行在Spark上。

Apache Spark内部机制和优化

1. MLlib主要开发人员Xiangru Meng:MLlib和稀疏数据

实际应用中的大型数据集往往是稀疏的。Spark?MLlib支持稀疏矩阵和向量的存储及处理。作为MLlib的用户,应识别所面临的问题是否可以用稀疏数据来表示。当数据非常稀疏时,这往往决定了运行的效率。对于开发者而言,应采用适当的计算和算法来利用稀疏数据。Xiangru详述了对稀疏数据的三个优化算法:在KMeans中计算两点的距离,在线性模型中计算梯度的总和,以及如何在SVD中利用稀疏数据。

2. Databricks的Aaron Davidson:理解Spark的内部机制

Aaron的演讲主要是如何在实际应用中提高Spark核心性能。他详述了Spark RDD的执行模型和shuffle操作。RDD保存了产生的顺序和计算过程,从??而形成一个逻辑的计划。逻辑计划在shuffle的边界分为不同的执行阶段,所有执行阶段形成一个DAG。执行阶段加上一个数据partition形成一个执行任务。当父辈阶段执行后,任务调度器就会为每一个任务提交一个作业。在shuffle的边界,Mapper任务将数据按照partition保存到磁盘,而reducer从多个mapper提取数据,并按照key来组合数据。此过程中shuffle的网络通信是昂贵的,按key的数据组合也会使用大量的内存。Aaron举了一个简单的例子:计算不同人名的数量,并用人名的第一个字母分组。他演示了两个不同的实现方法,并在Databricks Cloud中运行,比较了执行阶段和运行时间。

基于Apache Spark的科研及应用

1. 加州大学伯克利分校教授David Patterson:Spark和基因学

David Patterson是RISC结构的创始者,由他合作撰写的计算机体系结构一书是经典的教科书。David在演讲中介绍了几个基于Spark之上的开源基因学软件项目。SNAP是短读基因序列校准器,它是迄今为止最准确和最快的校准器,比其他的校准器快3到10倍。?ADAM是一个适用于在计算机群中存储的基因格式,使用先进的系统技术,可大大加速整个基因处理软件流水线的效率。?使用一个82个节点的计算机群,ADAM可以用比其他系统快110倍的速度来执行基因学中两个最昂贵的步骤。当David教授介绍了纽约时报为期2014年6月4日关于SNAP如何帮助挽救了一个孩子的生命的新闻时,全场响起热烈的掌声。

2. Jawbone公司数据副总裁Monica Rogati:为数据时代的大众制造数据产品

可联网的设备的数量到2020年将增长到500亿。在数据时代的大众眼中,世界将是聪明的,可适应每个人的独特情况。Monica认为Spark是构建智能数据产品的主要组成部分,因为它支持工业界所需的数据流程,无可挑剔的数据清理,迭代,机器学习和更快的运行速度。

3. Spotify的工程师Chris Johnson:大型音乐推荐系统

Spotify使用各种机器学习模型来增强其音乐推荐功能,包括网页发现和电台。由于这些模型的迭代特性,它们非常适合Spark的计算模式,可以避免Hadoop输入/输出所带来的开销。在这次讲座中,Chris评论了两个共同筛选算法,以及他如何基于Spark?MLlib中的ALS来处理数千亿的数据点。

4. 苏黎世联邦理工学院讲师Kevin Mader:使用Spark进行实时图像处理和分析

采用基于同步加速器X射线层析Microscopy可以每秒产生8GB的图像数据。为了实时处理这些图像,Kevin采用了一个上千台机器的计算机群,并在上面开发了一套基于Spark,可进行过滤、分割和形状分析的系统。为了加速后期处理,Kevin进行了实时近似分析,如区域筛选和采样。

结束语

Spark Summit 2014是Spark开源生态系统发展壮大的一个重要里程碑,Apache Spark已经成为整合以下大数据应用的标准平台:

  • 复杂的分析(例如机器学习)
  • 交互式查询,包括SQL
  • 实时流处理

有越来越多的工业产品建立在或集成了Spark如Databricks Cloud和SAP?HANA等。

展望未来,Apache Spark社区将继续在多个领域进一步创新,以提供更多的功能,更快的运行效率和更深度的整合:

  • Spark内核将提供一个可拔插的shuffle接口。现有的shuffler是基于HashMap来汇总具有相同关键词的数据,当内存压力高时,它会自动溢出到磁盘里。有了可插拔接口,在未来的版本中将加入排序和流水线shuffler。
  • Spark内核将建立一个统一的存储API,可以支持固态硬盘驱动器(SSD),以及其他共享内存的软件存储系统,如Tachyon,HDFS缓存等。
  • 与YARN更紧密的集成,比如动态调整资源分配,来更好的支持multi-tenency。
  • Spark SQL作为新的SQL引擎来取代Shark。基于Catalyst的优化引擎可以直接为Spark内核进行优化处理。即将推出的动态代码生成将大大提高查询效率。
  • Spark SQL将整合各种数据源,包括Parquet,JSON,NoSQL数据库(Cassandra,HBase,MongoDB)和传统的型数据库(SAP,Vertica和Oracle)。
  • MLlib将包括一个统计库来进行抽样,相关性,估计和测试。不久推出将一组新的算法,包括非负矩阵分解,稀疏的SVD,LDA等。
  • Spark Streaming将增加新的数据源和更好的与Apache Flume的整合。

通过这次的盛会,更加坚定了Spark在大数据中的核心地位。让我们期待Spark在未来的更加精彩的发展。

关于作者

辛湜(Reynold Xin)是Apache Spark开源社区的主导人物之一。他在UC Berkeley AMPLab进行博士学业期间参与了Spark的开发,并在Spark之上编写了Shark和GraphX两个开源框架。他和AMPLab同僚共同创建了Databricks公司。

王东是Databricks的软件工程师,目前在开发基于Apache?Spark的产品。他于2003年获得卡内基梅隆大学的博士学位后,一直在旧金山及湾区工作。在加入Databricks前他在Twitter从事搜索和推荐系统的软件开发和大数据分析。

   
 订阅
  捐助
相关文章 相关文档 相关课程



我们该如何设计数据库
数据库设计经验谈
数据库设计过程
数据库编程总结
数据库性能调优技巧
数据库性能调整
数据库性能优化讲座
数据库系统性能调优系列
高性能数据库设计与优化
高级数据库架构师
数据仓库和数据挖掘技术
Hadoop原理、部署与性能调优
 

MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   


并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理


领先IT公司 android开发平台最佳实践
北京 Android开发技术进阶
某新能源领域企业 Android开发技术
某航天公司 Android、IOS应用软件开发
阿尔卡特 Linux内核驱动
艾默生 嵌入式软件架构设计
西门子 嵌入式架构设计
更多...   
 
 
 
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号