Spark 2.3重磅发布,引入持续流处理
极客时间编辑部
讲述:杜力大小:1.25M时长:02:45
近日,Databricks 在官方工程博客上正式发布了 Apache Spark 2.3.0,新版本继续向更快、更易用、更智能的目标迈进,引入了低延迟的持续处理能力和流到流的连接,让 Structured Streaming 达到了一个里程碑式的高度;使用 Pandas UDF 提升 PySpark 的性能;为 Spark 应用程序提供 Kubernetes 原生支持。
此次新版本主要在可用性和稳定性方面下了功夫,解决了 1400 多个 ticket。其他主要特性如下:
DataSource 2 API;
向量化的 ORC Reader;
包含键值存储的 Spark History Server 2;
基于 Structured Streaming 的机器学习管道 API;
MLlib 增强;
Spark SQL 增强。
下面将简单概括一些主要的特性和改进,更多信息可以参看 Spark 2.3 发布通告
1. 毫秒级别的持续流式处理
为了给开发者提供更多的流式处理体验,Spark 2.3 引入了毫秒级延迟的持续流式处理模式。
在持续模式下,流处理器持续不断地从数据源拉取和处理数据,而不是每隔一段时间读取一个批次的数据,这样就可以及时地处理刚到达的数据。延迟被降低到毫秒级别,完全满足了低延迟的要求。
简单地说,Spark 2.3 的持续模式所能做到的是:端到端的毫秒级延迟、至少一次处理保证、以及支持 Dataset 的映射操作。
2. 流到流的连接
Spark 2.0 的 Structured Streaming 已经可以支持 DataFrame/Dataset 的连接操作,但只是流到静态数据集的连接,而 Spark 2.3 带来了期待已久的流到流的连接,支持内连接和外连接,可用在大量的实时场景中,如广告变现。
在实际中,流到流的连接解决了一些技术性难题:
将迟到的数据缓冲起来,直到在另一个流中找到与之匹配的数据。
通过设置水位(Watermark)防止缓冲区过度膨胀。
用户可以在资源消耗和延迟之间作出权衡。
静态连接和流连接之间的 SQL 语法是一致的。
3.Spark 和 Kubernetes
这两个开源项目之间的功能组合也在意料之内,用于提供大规模分布式的数据处理和编配。在 Spark 2.3 中,用户可在 Kubernetes 集群上原生地运行 Spark,从而更合理地使用资源,不同的工作负载可共享 Kubernetes 集群。
Spark 可以使用 Kubernetes 的所有管理特性,如资源配额、可插拔的授权和日志。另外,要在已有的 Kubernetes 集群上启动 Spark 工作负载就像创建一个 Docker 镜像那么简单。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论