以下是我的代码段。我有DStream,我试图将其保存到HDFS。只是想知道压缩的有效方式。
nil
答案 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的操作。
希望这有帮助!