spark学习

val val rdd=sc.parallelize(List(1,2, 3, 4, 5, 6))
val filterRdd=maprdd.filter(_ > 5)

val maprdd = rdd.map(_*2)
maprdd.collect


val filterRdd = sc.parallelize(List(1,2,3,4,5,6)).map(_*2).filter(_ > 5)


val rdd=sc.textFile("C:/Users/hongxueyu/Desktop/word.txt")
rdd.cache
rdd.count

wordcount计算

    val rdd=sc.textFile("C:/Users/hongxueyu/Desktop/word.txt")
    val wordcount = rdd.flatMap(_.split(' ')).map((_,1)).reduceByKey(_+_)
    wordcount.collect  
    map(x=>(x.1))
    //将文章转成字符
    //转成map   (a,1)(b,1)...
    //具有相同key的值加起来
    //保存起来
        wordcount.saveAsTextFile("C:/Users/hongxueyu/Desktop/result.txt")
    //groupByKey
    //排序   sortByKey

       
       
//union
val  rdd1=sc.parallelize(List(('a',1),('a',2)))
val  rdd2=sc.parallelize(List(('b',1),('b',2)))
val result = rdd1 union rdd2
result.collect

//join
val  rdd1=sc.parallelize(List(('a',1),('a',2),('b',3),('b',4)))
val  rdd2=sc.parallelize(List(('a',5),('a',6),('b',7),('b',8)))
val result = rdd1 join rdd2
result.collect


//reduce   相当于执行加法
//lookup   找到key的值,通过key能够找到value
rdd1.lookup('a')

 
//sortByKey函数  【wordcount排序】
//在spark中写代码是非常简答方便的
val wordcount = rdd.flatMap(_.split(' ')).map((_,1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).saveAsTextFile("C:/Users/hongxueyu/Desktop/sortresult.txt")


//Lineage
容错技术
RDD---->依赖方式恢复

//Dependency
窄依赖
宽依赖----经典的MapReduce方式



spark的集群配置
1、Java_Home
2、Spark_MASTER_IP
3、SPARK_WORKER_CORES
4、SPARK_WORKER_instance
5、SPARK_WORKER_Memory
...

相关推荐