Spark 2.x管理与开发-Spark Streaming-Spark Streaming进阶(七)【DStreams的输出操作】
Posted on 2020-08-10 15:19 MissRong 阅读(153) 评论(0) 收藏 举报Spark 2.x管理与开发-Spark Streaming-Spark Streaming进阶(七)【DStreams的输出操作】
输出操作允许DStream的操作推到如数据库、文件系统等外部系统中。
因为输出操作实际上是允许外部系统消费转换后的数据,它们触发的实际操作是DStream转换。
目前,定义了下面几种输出操作:

一、foreachRDD的设计模式
DStream.foreachRDD是一个强大的原语,发送数据到外部系统中。
- 第一步:创建连接,将数据写入外部数据库(使用之前的NetworkWordCount,改写之前输出结果的部分,如下)
出现以下Exception:

原因是:Connection对象不是一个可被序列化的对象,不能RDD的每个Worker上运行;
即:Connection不能在RDD分布式环境中的每个分区上运行,因为不同的分区可能运行在不同的Worker上。所以需要在每个RDD分区上单独创建Connection对象。
- 第二步:在每个RDD分区上单独创建Connection对象,如下:

参考: https://www.cnblogs.com/liuxinrong/articles/13331510.html
浙公网安备 33010602011771号