qq591577286 发表于 2019-1-30 12:31:26

spark概述与编程模型

  

  spark快的原因
1.内存计算
  2.DAG
  

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

  

http://s3.运维网.com/wyfs02/M00/74/1B/wKioL1YUkdDDHekLAASNB2OLfro689.jpg
  

  lineage 血统
  RDD wide and narrow dependencies
  窄依赖每个 RDD partition最多被一个子RDD partirion依赖

  

http://s3.运维网.com/wyfs02/M00/74/1C/wKioL1YU2lvCJnjLAALsYB9wKGc627.jpg
  

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

  

  data.cache数据放到内存中

  spark-submit提交任务
http://s3.运维网.com/wyfs02/M02/74/1D/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){
    if(args.length != 2){
      println("Usage : java -jar code.jarfile_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))
}
}  




页: [1]
查看完整版本: spark概述与编程模型