Spark算子实战action(Scala)

1、reduce算子

package cn.spark.study.core

import org.apache.spark.{SparkConf, SparkContext}

object actionOpertion {

  def main(args: Array[String]): Unit = {
    reduce()
  }

  def reduce(): Unit = {

    val conf = new SparkConf ()
      .setAppName ("reduce")
      .setMaster ("local")

    val sc = new SparkContext (conf)

    val numList = Array (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    val nRDD = sc.parallelize (numList)

    val result = nRDD.reduce (_+ _)

    println (result)
  }
}




测试:

2、collect算子操作

def collect(): Unit ={

  val conf = new SparkConf().setMaster("local")
    .setAppName("collect")

  val sc = new SparkContext(conf)

  val numList = Array(1,2,3,4,5,6,7)

  val nRDD = sc.parallelize(numList)

  val mid = nRDD.map(x => x * 2)

  val result = mid.collect()

  for (x <- result)
  println(x)
}

测试:

3、count算子操作

def count(): Unit ={
  val conf = new SparkConf().setMaster("local")
    .setAppName("collect")

  val sc = new SparkContext(conf)

  val numList = Array(1,2,3,4,5,6,7)

  val nRDD = sc.parallelize(numList)

  val mid = nRDD.map(x => x * 2)

  val result = mid.count()

  print(result)
}

测试:

4、take算子操作

 def take() {
    val conf = new SparkConf()
        .setAppName("take")
        .setMaster("local")  
    val sc = new SparkContext(conf)
    
    val numberArray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    val numbers = sc.parallelize(numberArray, 1)  
    
    val top3Numbers = numbers.take(3)
    
    for(num <- top3Numbers) {
      println(num)  
    }
  }

测试:

 

 


版权声明:本文为huaicainiao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。