大数据技术分享 Spark技术讲座 流中的漩涡 共14页.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
大数据技术正在快速发展,其中Apache Spark作为一个突出的开源大数据处理框架,已经成为了业界广泛使用的工具之一。特别是在流数据处理方面,Spark的Structured Streaming提供了相对成熟的解决方案。本次分享的内容主要围绕Structured Streaming的局限性、挑战以及可能的解决办法。 Structured Streaming支持将流数据与批数据进行连接操作,这在很多场景下是非常有用的功能。但问题在于Spark在处理这种连接时并不支持连接谓词的下推。这意味着在每个微批处理时,状态数据必须被加载到Spark的内存中。这样的处理方式在数据量大时会消耗大量的内存资源,影响系统的整体性能。 为了解决这一问题,文档中提到了几种方法,包括但不限于: 1. 缓存批数据数据框并重启流处理应用或查询。 2. 在Spark之外进行数据缓存。 3. 在map/flatmap操作中查找批数据。 4. 流更新和流之间的连接(2.3+版本支持,但仅限于有限的使用场景)。 此外,文档也提到了数据输出模式的选择,支持包括JSON、CSV、Parquet、Orc、Text以及JDBC在内的多种格式,这些输出模式分为批处理模式和流式模式两种。 在讨论输出模式时,提到了JDBC输出模式的具体实现和特性。这一实现允许将流式数据写入JDBC数据存储,并且使用与批处理JDBC输出相同的代码。它支持覆盖和追加两种模式,并且原生支持至少一次的发送,通过配置可以实现精确一次的发送保证。该实现的具体代码可以在GitHub上找到,包括源代码和测试用例。 文档中还提到,checkpoint是Structured Streaming中保存状态的机制,允许流处理应用程序在出现故障时从上次保存的状态继续恢复。为了保证状态的一致性和可恢复性,checkpoint应该存储在一个健壮的位置,并且能够被执行器和驱动程序读写。然而,Amazon S3并不保证即时一致性,这可能会导致checkpoint出现异常。因此,在Amazon Web Services(AWS)上使用时,推荐使用EFS来存储checkpoint。在Kubernetes环境下,需要配置一个支持读写扩展(RWX)访问模式的持久性卷(PV)。 对于checkpoint存在的问题,文档指出了相关的Apache JIRA问题编号SPARK-21696,并提到了解决方案是在出现异常的情况下每天删除一次checkpoint。当然,这样的操作意味着可能会丢失部分数据。幸运的是,该问题在Spark版本2.2.1中已经得到解决。 文档还提到了数据聚合方面的问题,所谓"Anthropophagic Aggregations"。文档中提到了结构化流在执行聚合操作时可能遇到的问题,并以一个带问号的语句提出了对聚合操作的质疑。 整个讲座内容深刻、实用,从问题解决的角度对Spark的Structured Streaming进行了深入探讨,为从业者提供了许多宝贵的实践经验和故障排除技巧。通过这次分享,可以对Spark的流处理技术有更为深入的理解,并在实际应用中遇到问题时能够有针对性地进行优化和解决。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![csv](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/d65d1303dca64715939540eb2ae5ddff_qq_27595745.jpg!1)
- 粉丝: 443
- 资源: 6875
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- Java毕业设计基于SSM+mysql的学生宿舍管理系统源码+数据库(高分代码)
- mosquitto服务器
- Microsoft Edge-110.0.1587.50.exe
- 基于Java web的SSM框架的学生信息管理系统后台(源码+数据库)
- 使用cmake创建并使用库的源代码
- SVN1.14.1安装包 语言包
- MultiSnapRecyclerView:让Android RecyclerView的滚动停靠更灵活(0积分下载)
- mysql创建数据库和表.docx
- git-doc-master.zip
- MATLAB代码:需求响应与动态热额定值相结合,以增加变压器储备和使用寿命 参考文档:Demand Response Coup
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)