Apache Spark 初体验

启动spark-shell

直接启动bin目录下的spark-shell:

./spark-shell 

spark-shell说明

  • 直接使用./spark-shell

表示使用local 模式启动,在本机启动一个SparkSubmit进程

  • 还可指定参数 --master,如:

spark-shell --master local[N] 表示在本地模拟N个线程来运行当前任务
spark-shell --master local[*] 表示使用当前机器上所有可用的资源

  • 不携带参数默认就是
spark-shell --master local[*]
  • 后续还可以使用–master指定集群地址,表示把任务提交到集群上运行,如
./spark-shell --master spark://hadoop01:7077 
  • 退出spark-shell

使用 :quit

读取本地文件

  • 准备数据
vim /root/words.txt
hello me you her 
hello you her
hello her 
hello 
val textFile = sc.textFile("file:///root/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
counts.collect//收集结果
// Array[(String, Int)] = Array((you,2), (hello,4), (me,1), (her,3))

读取HDFS文件

  • 准备数据

上传文件到hdfs

hadoop fs -put /root/words.txt /wordcount/input/words.txt

目录如果不存在可以创建

hadoop fs -mkdir -p /wordcount/input

结束后可以删除测试文件夹

hadoop fs -rm -r /wordcount
val textFile = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
counts.saveAsTextFile("hdfs://node01:8020/wordcount/output")
发布了295 篇原创文章 · 获赞 184 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42072754/article/details/105274071