GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

Apache Spark 1.2.0 发布:引入基于 Netty 的实现,支持高可用,并提供机器学习 API

2015 年 1 月 10 日

Apache Spark 1.2.0 已经发布,Spark 核心引擎在性能和可用性方面都有很大改进。这是来自 60 多家研究机构和公司的 172 位贡献者的成果,包括了 1000 多个补丁。

Spark 1.2.0 与之前的 1.1 和 1.0 版本完全二进制兼容。该版本引入了一个基于Netty 的实现,此举带来了很大的效率提升。Spark 流支持Python,并通过预写式日志(Write Ahead Logs,WALs)支持高可用。此外还提供了一组称作_spark.ml_ 的机器学习API。

Spark SQL 是一个比较新的项目,改进了对外部数据源的支持

Patrick Wendell 是 Spark 早期版本的发布经理,现在是 Spark 贡献者和 PMC 成员,目前就职于 Databricks。InfoQ 对他进行了采访。

InfoQ**:先谈谈重要的。对熟悉Map/Reduce的开发者而言,Spark看上去在引导一个新的范型,是不是这样呢?精通Map/Reduce的开发者是否应该关注Apache Spark?**

Spark 最初创建的目标就是改进 Map/Reduce 模型,所以现在的 Map/Reduce 开发者绝对应该试试 Spark!与 Map/Reduce 相比,除了丰富的内置类库以及社区提供的类库,Spark 还提供了层次更高、表达性更好的 API。做个类比,如果说 Map/Reduce 像汇编语言,也就是底层的、命令式的语言,那 Spark 更像提供了类库和包的现代编程语言。Spark 还提供了很大的性能改进。

InfoQ**:可以像运行其他程序那样在YARN上运行Map/Reduce程序。Apache SparkYARN之间有什么关系吗?**

Spark 可以在很多不同的环境中运行,从和已部署的 Hadoop 共存,到运行在 Mesos 集群中,还可以运行在像 Databricks Cloud 这样的托管服务中。在 Hadoop 环境中,YARN 是集群管理器,帮助启动和调度运行 Spark 应用的分布式组件。YARN 可以将 Spark 和 MapReduce 负载在同样的集群硬件上多路复用。

InfoQ**:要成为Spark用户,需要熟悉Scala吗?**

与 Scala 用户相比,Java 和 Python 用户也很多。所以 Scala 相关的知识并不是必需的。Spark 的可编程的 Shell 提供了 Python 和 Scala 版本(因为 Java 没有交互式的 Shell,所有没有 Java 版本)。Spark 的 SQL 特性支持这几种语言。当然要尝试新东西的话,Scala API 总是可用的。

InfoQ**:Spark SQL是最近加进来的。能够使用JDBC/ODBC API访问Spark,是不是使Spark对开发者更友好了?**

能够在 JDBC/ODBC 上暴露出 Spark 数据集,这是我们去年提供的最受欢迎的特性之一。这些接口支持使用传统的 BI 和可视化工具查询 Spark 数据,还支持与第三方应用集成。利用 Spark,不管我们的数据用的是什么格式(JSON、Parquet 或某种数据库),都可以在一个程序中实现对数据的 ETL(Extract、Transform 和 Load)操作,以及执行变换并暴露给查询操作。这是 Spark 中最强大概念之一,过去需要很多单独的工具,现在都统一了。

InfoQ**:磁盘存储没有限制,但内存是有限的。有别于Apache HadoopApache Spark是不是有数据大小的限制?哪类应用能从Apache Spark受益最多呢?**

尽管现代的集群中可用内存的量一直在激增,但是总有些情况,数据是无法放到内存里的。在 Spark 的所有现代版本中,大部分超出可用内存的操作都会扩展到磁盘上,这意味着用户不需要担心内存限制。举个例子,在数据集的量几倍于集群的可用内存量的情况下,Spark 取得了 Jim Gray 排序基准测试的胜利,而且就是在这种情况下,Spark 的效率还比其他广泛应用的系统高好多倍。

InfoQ**:我们再来谈谈性能。在最初由Jim Gray创建的排序基准测试中,Apache Spark成了赢家,让人印象非常深刻。很多开发者都会对基准测试的结果表示怀疑,你能谈一下这些结果是否中肯吗?**

之所以选择 Jim Gray 基准测试,是因为它是由第三方委员会维护的。这就确保它是独立验证的,而且是基于一组定义好的业界规则。对基准测试持怀疑态度的开发者都知道,自己报告的、未经验证的基准测试一般多是营销材料。而开源之美就在于,用户可以自行尝试,几乎不需要什么成本。我一直鼓励用户选择 Databricks Cloud,或者是下载 Spark,并用自己的数据集来评估,而不是把太多精力放到基准测试上。

对于用户而言,整体考虑性能也很重要。如果数据在 ETL 流水线中要花 6 个小时转成恰当的格式,或者需要 3 个月的时间实现模式的变更,那查询加快是不是胜利呢?如果需要把数据转到另一个系统中来执行机器学习,10% 的性能改进是不是值得?数据通常很散乱、复杂,而且端到端的流水线会涉及不同的计算模型,比如查询、机器学习和 ETL。Spark 的目标是使得在真正的流水线中处理复杂数据变得非常简单!

有关 Apache Spark 1.2.0 的特性列表的更详细解释,可以参见 Databricks 公司的博客。读者可以从 Apache Spark 的下载页面下载 Spark 最新版本。

查看英文原文: Apache Spark 1.2.0 Supports Netty-based Implementation, High Availability and Machine Learning APIs

2015 年 1 月 10 日 13:074283
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 115.7 次阅读, 收获喜欢 23 次。

关注

评论

发布
暂无评论
发现更多内容

英特尔宋继强:坚持科研的长期主义 推动AI向3.0时代跃迁

最新动态

当你输入get/set命令的时候,Redis做了什么

老胡爱分享

redis 源码分析

Free space——区块链加密社交平台新秀之作

Geek_116789

移动终端智能卡与安全计算环境研究

石君

安全芯片 移动终端 终端安全

一种极致性能的缓冲队列

小楼

Java 性能

还在埋头干活?给程序员的几个忠告

四猿外

Java 深度思考 程序员 随笔杂谈 程序员成长

如何让企业的IT数据运维更有“烟火气”?

博睿数据

数据挖掘 学习 数据中台 运维 大屏可视化

游戏夜读 | 最常见的两种类型

game1night

架构师训练营作业 (第三周)

王海

极客大学架构师训练营

你真的了解敏捷吗?听马丁福勒聊敏捷

涛哥

敏捷 数字化转型

第三周作业

LEAF

常年“佛系”Crysis勒索病毒突然变种 变身黑客工具合辑

360安全卫士

互联网人的娱乐精神之28岁退休 & P8和生活助理的故事

码农神说

程序员 漫画 退休

flutter开发

InfoQ_1c4a1f813eb1

Android APP启动白屏优化

小菜鸟学php

android白屏

【写作群星榜】6.12~6.19 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

低代码平台,我看好宜搭

飞哥

低代码

必知必会,程序员都应该会的Linux的50个知识点!

Java小咖秀

Linux 面试 运维 Shell 经验

加密与解密

返町

跨云厂商部署 k3s 集群

米开朗基杨

k3s wireguard

运营系统架构文档

师哥

思想不进化的人都是可怜人

Neco.W

提升认知 思考 进步 进化

数据库如何弹性伸缩?

Aaron_涛

数据库 架构 云原生

GitHub 热榜:一款堪称作业终结者的开源神器!

JackTian

GitHub 开源项目 工具类网站 学生党 Text-to-handwriting

对不起,我爱你

小天同学

小说 爱情 情感

培训机构出来的程序员常被鄙视,招谁惹谁了

程序员生活志

程序员 程序人生

Facebook 起诉水军公司:删不过来,我还告不过来吗?

神经星星

facebook 亚马逊云 AWS Lightsail 水军 虚假评论

Zoom 妥协!对免费用户开放端到端加密服务

神经星星

音视频会议 Zoom 端到端加密 隐私保护 数据保护

架构师训练营-week01 学习总结

GunShotPanda

为什么Web开发人员在2020年不用最新的CSS功能

Geek_Willie

CSS

antdesign table 设置默认选中行且不可编辑

张张张小烦

DNSPod与开源应用专场

DNSPod与开源应用专场

Apache Spark 1.2.0发布:引入基于Netty的实现,支持高可用,并提供机器学习API-InfoQ