rdd.saveAsTextFile在foreachRDD内的驱动程序或工作程序上执行。

时间:2016-07-25 01:34:22

标签: apache-spark streaming

以下是我的代码段。我有DStream,我试图将其保存到HDFS。只是想知道压缩的有效方式。

nil

1 个答案:

答案 0 :(得分:3)

rdd.saveAsTextFile在工作节点上执行,实际上所有的rdd操作都在dstream.foreachRDD内并行执行。 Spark文档提到我们应该使用此dstream操作将每个RDD中的数据推送到外部系统。

  

foreachRDD(func):应用a的最通用输出运算符   函数,func,从流生成的每个RDD。这个功能   应该将每个RDD中的数据推送到外部系统,例如保存   RDD到文件,或通过网络将其写入数据库。注意   函数func在运行的驱动程序进程中执行   流应用程序,通常会在其中有RDD操作   将强制计算流式RDD。

Design Patterns for using foreachRDD部分还清楚地说明了dstream.foreachRDD是一个强大的原语,允许将数据发送到外部系统。您可以进一步阅读本节以了解如何优化dstream中RDD的操作。

希望这有帮助!