1.启动spark和Hadoop
#根目录下启动Hadoop集群
start-all.sh
在spark的sbin目录下输入
sh start-all.sh
2.运行Spark-Shell命令
在spark/bin目录下,执行Spark-Shell命令进入Spark-Shell交互式环境
spark-shell --master
上述命令中,--master表示指定当前连接的Master节点,
如需查询Spark-Shell更多的使用方式可以执行“--help”命令
3.运行Spark-Shell读取HDFS文件
通过启动Spark-Shell,并且使用Scala语言开发单词计数的Spark程序。
进入spark目录创建test文件夹,再在此文件下创建words.txt文件
mkdir test
#这是创建文件夹
touch words.txt
#这是创建文件
在words.txt文件里面输入如下内容
hello hadoop
hello spark
hellp itcast
把本地的words.txt文件上传推送到HDFS中的/spark/test路径下
在hdfs上创建临时文件夹去存放我们要上传的文件:
hdfs dfs -mkdir -p /spark/test
-mkdir:创建文件夹命令 -p :创建多级目录命令 在Hadoop 根目录下创建了spark,spark下又创建了test文件夹
Hadoop上上传文件
hdfs dfs -put /export/servers/spark/test/words.txt /spark/test
-put:上传文件 第一个路径是要传的文件的路径 第二个路径是目的地
查看是否上传成功 第一种本地通过命令查看:
hdfs dfs -ls /spark/test
第二种通过Hadoop查看:
注:HDFS上传可看本文:(13条消息) 如何往hdfs上上传文件?_向hdfs中上传任意文本文件_Nurbiya_K的博客-CSDN博客
1.整合Spark与HDFS
Spark加载HDFS上的文件,需要修改conf目录下的spark-env.sh配置文件,添加HADOOP_CONF_DIR配置参数,指定Hadoop配置文件的目录,添加配置参数如下。
#指定HDFS配置文件目录
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop
2.启动Hadoop 、Spark服务
配置完毕后,启动Hadoop集群服务,并重新启动Spark集群服务,使配置文件生效。
#根目录下启动Hadoop集群
start-all.sh
注:此图是Hadoop和saprk都启动状态
#在spark的sbin下先关闭spark再重新开启
sh stop-all.sh
sh start-all.sh
3.启动Spark-Shell编写程序
启动Spark-Shell交互式界面,执行命令如下。
#spark目录下输入
bin/spark-shell --master local[2]
Spark-Shell本身就是一个Driver,它会初始化一个SparkContext对象为“sc”,用户可以直接调用。下面编写Scala代码实现单词计数,具体代码如下。
sc.textFile("/spark/test/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
4.退出Spark-Shell客户端
:quit
推荐阅读
发表评论