BT

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

Apache Spark发布1.3版本,引入Data Frames、改进Spark SQL和MLlib

| 作者 Mikio Braun 关注 0 他的粉丝 ,译者 韩陆 关注 12 他的粉丝 发布于 2015年4月1日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

Apache Spark项目发布了1.3版本。主要改进是增加了DataFrames API,更成熟的Spark SQL以及一些添加到机器学习库MLlib的新方法。此外,新版本可以更好地将Spark Streaming与Apache Kafka整合。

DataFrames API是新版本最主要的新增功能。采用R语言中的同名数据结构建模,目的是为列表数据提供更好的支持。DataFrame包含一张表,表中的列是有类型和命名的,可以提供过滤、分组或计算聚集等操作,类似SQL查询。

DataFrames与分布式SQL查询引擎Spark SQL紧密集成。 DataFrames可以构建自SQL查询结果集、弹性分布式数据集,或者从Parquet格式的文件中加载。到目前为止,RDDS(弹性分布式数据集)是Spark中主要的分布式数据采集类型,但DataFrames旨在为结构化数据提供更好的支持。

作为Spark的一部分,机器学习库Spark MLlib已经实现了一些新的的学习算法,例如隐含狄利克雷分布,这是一种确定文件主题、聚集相关文件的概率方法;又如多项逻辑递归,用于多类预测任务。MLlib开始部分支持分布式线性代数,包括以分布式方式存储矩阵块。这样的功能是许多较复杂的数据分析任务所必需的,包括矩阵分解,这往往涉及矩阵过大难以载入主存储器的问题。

在这些算法之上,Spark还增加了更高级功能,为数据分析,增加导入和导出学习过的预测模型,还有在1.2版本引入的管道API,使用户以高级的方式指定数据转换管道。这种管道通常用于提取数据科学领域的原始数据相关的特征。

此外,Spark现在已经与Apache Kafka直接集成,可以摄取实时事件数据。

Apache Spark最初开始于2009年,源自加州大学伯克利分校的AMPLab。它可以独立运行,或者安装在现有的Hadoop上运行,它还提供了比Hadoop原生的MapReduce处理模型更大的操作集合。它尽可能使用内存持有数据,因此相对于主要基于磁盘的MapReduce,它的性能得到了进一步改进。另外,通过收集缓冲区中的数据,然后周期性地处理这些小型的批处理,Spark具备了处理接近实时的事件数据的能力。在类似的项目中,Apache Flink不但有类似的功能集合,还包括查询优化和连续数据流处理引擎,CascadingScalding项目,提供了一组类似的高级操作,但运行在MapReduce处理模型之上。

查看英文原文:Apache Spark 1.3 Released, Data Frames, Spark SQL, and MLlib Improvements


感谢丁晓昀对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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