下面通过启动Spark-Shell,并且使用Scala语言开发单词计数的Spark程序,现有文本文件words.txt(读者需要在本地创建文件并上传至指定目录)在HDFS中的/spark/test路径下,且文本内容如下。hello hadoop
hello spark
hellp itcast
如果使用Spark Shell来读取HDFS中的/spark/test/ words.txt文件,具体步骤如下:
1.整合Spark与HDFS
Spark加载HDFS上的文件,需要修改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集群服务,使配置文件生效。
3.启动Spark-Shell编写程序
启动Spark-Shell交互式界面,执行命令如下。$ bin/spark-shell--master local[2]
执行上述命令,Spark-Shell启动成功后,就会进入如图1所示的程序交互界面。
图1 spark-shell模式
Spark-Shell本身就是一个Driver,它会初始化一个SparkContext对象为“sc”,用户可以直接调用。下面编写Scala代码实现单词计数,具体代码如下。sc