//collect一般都在定义的函数外面收集
class TransformationOp {
val conf: SparkConf =new SparkConf().setMaster("local[6]").setAppName("Trans_formationOp")
val sc=new SparkContext(conf)
@junit.Test
def mapPartitions(): Unit ={
//1.数据的生成
//2.算子使用
//3.获取结果
sc.parallelize(Seq(1,2,3,4,5,6),2)
.mapPartitions(iter=>{
iter.foreach(item => println(item))//放在迭代器内和外有啥区别
iter//需要一个返回值
})
.collect()
}
@junit.Test
def mapPartitions1(): Unit = {
sc.parallelize(Seq(1, 2, 3, 4, 5, 6), 2)
.mapPartitions(iter => {
//遍历iter其中每一条数据进行转换,转换完以后,返回这个iter
iter.map(item => item * 10)
//返回值应该是定义foreach的变量
})
.collect()
.foreach(item => println(item))//没有返回值
}



