Spark:Scala実装アクション

1489 ワード

コードは次のとおりです.
package cn.spark.study.core

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

object ActionOperation {
  def main(args: Array[String]){
    //reduce()
    //collect()
    //count()
    take()
    //saveAsTextFile()
    //countByKey()
    //foreach
  }

  def reduce(){
    val conf =new SparkConf().setAppName("reduce").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 sum = numbers.reduce(_+_);
println(sum)
  }

  def collect(){
     val conf =new SparkConf().setAppName("reduce").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 doubleNumbers = numbers.map(num =>num *2)
val doubleNumberArray = doubleNumbers.collect()

for(numnum *2)
doubleNumbers.saveAsTextFile("E://BigData//sparkdata//doule_number_scala")
   }

   def countByKey(){
       val conf = new SparkConf().setAppName("countByKey").setMaster("local");

 val sc = new SparkContext(conf);

 val studentList = Array(Tuple2("class1","leo"),Tuple2("class2","jack"),Tuple2("class1","tom"),Tuple2("class2","mike"))

 val students = sc.parallelize(studentList, 1)

 val studentCounts = students.countByKey();

 println(studentCounts)
   }
}