如何高效用mapPartitions
1. mappartition的妙用
本文主要想讲如何高效的使用mappartition。首先,说到mappartition大家肯定想到的是map和MapPartition的对比。网上这类教程很多了,比如foreach和foreachPartition的区别。主要是map和foreach这类的是针对一个元素调用一次我们的函数,也即是我们的函数参数是单个元素,假如函数内部存在数据库链接、文件等的创建及关闭,那么会导致处理每个元素时创建一次链接或者句柄,导致性能底下,很多初学者犯过这种毛病。而foreachpartition是针对每个分区调用一次我们的函数,也即是我们函数传入的参数是整个分区数据的迭代器,这样避免了创建过多的临时链接等,提升了性能。下面的例子都是1-20这20个数字,经过map或者MapPartition然后返回a*3。
2. map的使用
[Scala] 纯文本查看 复制代码
1 2 3 4 5 6 |
|