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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值