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
...