第1关:转换算子之map和distinct算子
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object EduCoder1 {
def main(args: Array[String]): Unit = {
val conf =new SparkConf().setAppName("educoder").setMaster("local")
val sc=new SparkContext(conf)
val rdd = sc.parallelize(List("dog", "an", "cat"))
/********** Begin **********/
//第一步:通过获取rdd中每个元素的长度创建新的rdd1
val rdd1=rdd.map(x=>x.length)
//第二步:通过zip把rdd1和rdd组合创建rdd2
val rdd2=rdd.zip(rdd1)
//第三步:通过过滤出字符串长度为3的创建rdd3
val rdd3=rdd2.distinct()
//第四步:输出结果
rdd3.foreach(println)
/********** End **********/
sc.stop()
}
第2关:转换算子之flatMap和filter算子
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object EduCoder2 {
def main(args: Array[String]): Unit = {
val conf =new SparkConf().setAppName("educoder2").setMaster("local")
val sc=new SparkContext(conf)
val rdd=sc.textFile("file:///