spark概述与编程模型


spark快的原因
1.内存计算

2.DAG


spark shell已经初始化好了SparkContext,直接用sc调用即可



wKioL1YUkdDDHekLAASNB2OLfro689.jpg


lineage 血统

RDD wide and narrow dependencies

窄依赖每个 RDD partition最多被一个子RDD partirion依赖


wKioL1YU2lvCJnjLAALsYB9wKGc627.jpg


/sbin(system binary)放的都是涉及系统管理的命令。
有些系统里面,普通用户没有执行这些命令的权限。
有些系统里面,普通用户的PATH不包括/sbin



data.cache  数据放到内存中

spark-submit提交任务

wKioL1YU_XyAZC3LAANTwEDh6uw323.jpg


scala代码

package cn.chinahadoop.spark

import org.apache.spark.{SparkContext, SparkConf}
import scala.collection.mutable.ListBuffer
import org.apache.spark.SparkContext._

/**
 * Created by chenchao on 14-3-1.
 */
class Analysis {

}

object Analysis{

  def main(args : Array[String]){

    if(args.length != 2){
      println("Usage : java -jar code.jar  file_location save_location")
      System.exit(0)
    }

   

    val conf = new SparkConf()
    conf.setSparkHome("/data/software/crazyjvm/spark")
     

    val sc = new SparkContext(conf)
    val data = sc.textFile(args(0))

    data.cache

    println(data.count)

    data.filter(_.split(' ').length == 3).map(_.split(' ')(1)).map((_,1)).reduceByKey(_+_)
    .map(x => (x._2, x._1)).sortByKey(false).map( x => (x._2, x._1)).saveAsTextFile(args(1))
  }

}


你可能感兴趣的:(spark编程模型)