启动Spark-Shell实现词频统计

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

上述命令中,--master表示指定当前连接的Master节点,<master-url>用于指定Spark的运行模式,下图为master-url可取参数

 如需查询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

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=
第二种通过Hadoop查看:

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

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

  

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值