4.2.1 通过spark-shell --master local[N] 读取本地数据文件实现单词统计
--master local[N]
Local表示本地运行,跟集群没有任何关系,方便做一些测试和学习。
N表示一个正整数
Local[N]表示本地采用N个线程去运行任务
Spark-shell --master local[2] 它会产生一个spark submit 进程
Spark-shell --master local[2]
Sc.textFile(“file:///root/words.txt”).flatMap(x=>x.split(“ ”)).map(x=>(x,1)).reduceBykey((x,y)=>x+y).collect
Sc.textFile(“file:///root/words.txt”).flatMap(_.split(“ ”)).map((_.1)).reduceByKey(_+_).collect
4.2.2 通过spark-shell --master local[N] 读取HDFS上文件实现单词统计
Spark-shell --master local[2]
Sc.textFile(“hdfs://node1:9000/words.txt”).flatMap(_.split(“ ”)).map((_,1)).reducesByKey(_+_).collect
文件路径 简写方式
修改 vim spark-env.sh 文件,使其能够读取到hadoop目录下的配置文件
#spark整合hdfs
Exprot HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop
Sc.textFile(“/words.txt”).flatMap(_.split(“ ”)).map((_,1)).reduceByKey(_+_).collect
4.2.3 通过spark-shell --master 指定master为集群中活着的master
需求:实现读取hdfs上的数据进行单词统计,最后把结果数据保存到hdfs上的目录中。
Spark-shell --master spark://node2:7077 --executor-memory 1g --total-executor-cores 4
Sc.textFile(“/words.txt”).flatMap(_.split(“”)).map((_,1)).reducesByKey(_+_).savesAsTextFile(“/out”)