Spark(21)——foreachPartition foreach

Posted Java学习基地Java毕设定制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark(21)——foreachPartition foreach相关的知识,希望对你有一定的参考价值。

  1. foreach

val list = new ArrayBuffer() myRdd.foreach(record => { list += record })

2.foreachPartition

val list = new ArrayBuffer rdd.foreachPartition(it => { it.foreach(r => { list += r }) })

说明:

foreachPartition属于算子操作,可以提高模型效率。比如在使用foreach时,将RDD中所有数据写Mongo中,就会一条数据一条数据地写,每次函数调用可能就会创建一个数据库连接,此时就势必会频繁地创建和销毁数据库连接,性能是非常低下;但是如果用foreachPartitions算子一次性处理一个partition的数据,那么对于每个partition,只要创建一个数据库连接即可,然后执行批量插入操作,此时性能是比较高的。


以上是关于Spark(21)——foreachPartition foreach的主要内容,如果未能解决你的问题,请参考以下文章

Spark(21)——foreachPartition foreach

Spark Sql 函数使用

Spark基础学习笔记21:RDD检查点与共享变量

spark sql的简单操作

根据 Spark 中的小时数拆分时间戳间隔

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day21——Spark8