BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Apache Spark 2.0技术预览版

| 作者 Alex Giamas 关注 8 他的粉丝 ,译者 大愚若智 关注 9 他的粉丝 发布于 2016年6月6日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Apache Spark第一版发布时隔两年后,Databricks公布了基于上游分支2.0.0-preview的Apache Spark 2.0技术预览版。该预览版在稳定性和API方面均不适合用于生产环境,主要是为了在正式上市前收集来及社区的反馈。

此次发布的新版主要针对社区反馈进一步完善了各种功能,根据Spark的开发计划,主要改进分为两方面。

SQL是基于Apache Spark的应用程序最常用的接口之一。Spark 2.0可以支持全部的99个TPC-DS查询,这些查询大部分都基于SQL:2003规范。这些改进有助于在对应用程序堆栈进行最少量重写的情况下将现有数据负载移植至Spark后端。

第二方面改进主要是编程API,同时在这个新版中也更重视机器学习。spark.mllib程序包已经被全新的spark.ml程序包所取代,后者更加侧重于基于管线的API,这项技术源自DataFrames。机器学习管线和模型现已能够持久保存,Spark所支持的所有语言均支持这一特性。同时R已经可以支持K-Means、Generalized Linear Models(GLM)朴素贝叶斯和Survival Regression。

借助新增的Datasets类,DataFrames和Datasets已实现了统一,可支持Scala和Java编程语言,同时也可充当结构流(Structured streaming)的抽象。不支持编译时类型安全(Compile time type safety)的语言暂时还无法做到这一点,此时只能使用DataFrames作为主要抽象。SQLContext和HiveContext已被统一的SparkSession所取代。新增的Accumulator API具有比基本类型更简单的类型层级,可支持对基本类型进行专门化(Specialization)。老的API已被弃用,但为了实现向后兼容性依然包含在新版中。

新发布的结构化流API主要可用于在不增加复杂性的前提下管理流数据集,借此程序员和现有机器学习算法将可以处理批量加载的数据集。在第二代Tungsten引擎的帮助下,性能也有所增强,执行速度最高可提升10倍。

该技术预览版已经发布至DataBricks

查看英文原文:Apache Spark 2.0 Technical Preview

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT