Spark源码分析笔记(一)环境准备

已有环境hdfs+spark+yarn

一.环境准备 JDK+Scala+Spark

二.WordCount单词计数

进入spark-shell

val lines=sc.textFile("../README.md",2)
val words=lines.flatMap(line=>line.split(" "))
val ones=words.map(w=>(w,1))
val counts=ones.reduceByKey(_+_)

第一步,将文件读取,处理成RDD[String]类型。其中textFile(path,minpartition),path可以写成hdfs上的路径,否则在执行4的时候,会报错找不到文件。因为文件存储在hdfs上,会根据block的大小将文件拆分成相应的分区,minpartition参数传给spark,那么spark读取文件的时候,会使用相应数目的线程进行处理?(minpartition的具体含义)

第二,三步,将单词分割,并将每个单词map成(Word,1)

第四步,执行reduce统计每个单词的个数

如下图

Spark源码分析笔记(一)环境准备_第1张图片

三.spark-shell

saprk-shell打开spark的人机交互界面repl,在界面输入scala代码,可以进行对数据的处理

spark-shell处理交互内容的过程:

指令->spark-shell->spark-submit->spark-class->启动SparkSubmit进程

SparkSubmit进程:SparkSubmit.main->repl.Main->SparkILoop.process->initializeSpark->createSparkContext->SparkConf,SparkContext

SparkConf 接收处理配置参数

SparkContext 为要处理的内容,返回RDD

你可能感兴趣的:(大数据)