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

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3