Spark1

作者: orange1316 | 来源:发表于2018-09-16 23:31 被阅读0次
    1. 注意下GroupByKey于ReduceByKey的区别:前者只是把键相同的东西聚起来,后者会做指定的操作(在groupByKey的基础上)
    2. join操作相当于做了一个笛卡尔乘积的操作:
    3. lookup
    4. workcount
    //详单与做完了wordcount,调换keyValue顺序,然后再排序
     val result = textFile.flatMap(_.split(' ')).map((_, 1)).reduceByKey(_ + _).map(x => (x._2, x._1)).sortByKey(false)
    //result
    scala> result.collect
    res5: Array[(Int, String)] = Array((3,di), (2,wen), (2,100), (2,5000), (1,6000), (1,p), (1,diwenpu), (1,pukai), (1,pu), (1,u), (1,baidu))
    
    1. lineAge容错:对于Spark来说很重要.每个RDD都会记得依赖于哪个RDD,万一某个RDD某些partition挂了,可以通过其他RDD并行计算迅速恢复出来。
    2. Narrow Depedency于Wide Depedency.前者对于一个patition最多被某一个子partition所使用(典型的有map,filter,union),后者则不然(典型的有reduceByKey)
    3. 集群配置
    spark-env.sh
    export JAVA_HOME=
    export SPARK_MASTER_IP=
    export SPARK_WORKER_CORES=
    export SPARK_WORKER_INSTANCES=
    export SPARK_WORKER_MEMORY=
    export SPARK_MASTER_PORT=
    export SPARK_JAVA_OPTS="-verbose:gc -XX:-PrintGCDetails -XX:+PrintGCTimeStamps”
    
    slaves
    xx.xx.xx.2
    xx.xx.xx.3
    xx.xx.xx.4
    xx.xx.xx.5
    

    相关文章

      网友评论

          本文标题:Spark1

          本文链接:https://www.haomeiwen.com/subject/eiuqnftx.html