Databricks释出Spark 2.0技术预览版,聚焦资料处理效能与强化API

Databricks
自Spark 1.0推出时隔两年,Spark技术商Databricks日前释出Spark 2.0技术预览版,并在Databricks的云端大资料平台Databricks Community Edition提供使用者下载。Databricks共同创办人Reynold Xin在官方部落格表示,Apache官方的Spark 2.0要在数周后才会释出,而Databricks推出的技术预览版是以上游程式库(Codebase)为基础,提供使用者可以抢先使用Spark 2.0的功能。
新版Spark仍维持它的传统,聚焦于两个领域,包含标准SQL支援,以及统一资料框架(DataFrame)和资料集(Dataset)API。Spark 2.0在SQL方面,采用ANSI SQL解析器(Parser),以及支援子查询,来提升Spark的SQL能力,Databricks表示,因为SQL是Spark主要使用界面之一,新版Spark所扩展的SQL功能可以大幅降低旧有应用程序迁移至Spark平台的工作。
在API方面,新版Spark除了统一Scala和Java语言的DataFrame与Dataset API外,也提供了新的入口点(Entry Point)SparkSession,而SparkSession包含了SQLContext和HiveContext,以降低DataFrame API使用者在选择入口点时的困惑。
另外,Spark 2.0还更新了累加器API(Accumulator API),以及新增以资料框架为基础的机器学习API(DataFrame-Based Machine Learning API),而新版Spark也允许使用者可以在跨Spark所支援的程式设计语言中,储存和下载机器学习工作流程(Pipeline)和模型。此外,在R语言中,也新增支援广义线性模型(Generalized Linear Model)、单纯贝氏(Naive Bayes)、存活回归(Survival Regression)以及K-Means等分群算法。
在效能方面,Spark 2.0采用了以现代编译器(Compiler)和大规模平行处理(MPP)数据库为基础的第二代Tungsten引擎,以及加强SQL函数式关系查询优化框架Catalyst,来提升Spark资料处理的效能。
另外,Spark 2.0也延伸了DataFrame与Dataset API,提供使用者结构化串流API(Structured Streaming API)来处理串流资料,其关键功能包含支援以事件和时间为基础的资料处理、乱序资料(Out-Of-Order Data)、延迟资料(Delayed Data)、Sessionization、非串流资料来源等。
