|NO.Z.00061|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|Spark Streaming|DStream输出操作|
一、DStream输出操作
### --- DStream输出操作
~~~ 输出操作定义 DStream 的输出操作。
~~~ 与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,
~~~ 那么这些 DStream 就都不会被求值。
~~~ 如果 StreamingContext 中没有设定输出操作,整个流式作业不会启动。
二、DStream输出操作参数
Output Operation | Meaning |
print() | 在运行流程序的Driver上, 输出DStream中每一批次数据的最开始10个元素。用于开发和调试 |
saveAsTextFiles(prefix,[suffix]) | 以text文件形式存储 DStream 的内容。 每一批次的存储文件名基于参数中的prefix和suffix |
saveAsObjectFiles(prefix,[suffix]) | 以Java对象序列化的方式将Stream中数据保存为Sequence Files。 每一批次的存储文件名基于参数中的为"prefix-TIME_IN_MS[.suffix]" |
saveAsHadoopFiles(prefix,[suffix]) | 将Stream中的数据保存为 Hadoop files。 每一批次的存储文件名基于参数中的为"prefix-TIME_IN_MS[.suffix]" |
foreachRDD(func) | 最通用的输出操作。将函数 func 应用于DStream 的每一个RDD上 |
### --- DSTream概述
~~~ 通用的输出操作 foreachRDD,用来对 DStream 中的 RDD 进行任意计算。
~~~ 在foreachRDD中,可以重用 Spark RDD 中所有的 Action 操作。需要注意的:
~~~ 连接不要定义在 Driver 中
~~~ 连接定义在 RDD的 foreach 算子中,则遍历 RDD 的每个元素时都创建连接,得不偿失
~~~ 应该在 RDD的 foreachPartition 中定义连接,每个分区创建一个连接
~~~ 可以考虑使用连接池
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv017-spark.v02
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」