Spark Shell读取HDFS文件的步骤有哪些?

下面通过启动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代码实现单词计数,具体代码如下。

scala > sc.textFile("/spark/test/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
res0: Array[(String, Int)] = Array((itcast,1), (hello,3), (spark,1), (hadoop,1))

  上述代码中,res0表示返回的结果对象,该对象中是一个Array]类型的集合,(itcast,1)则表示“itcast”单词总计为1个。

  4.退出Spark-Shell客户端

  可以使用命令“:quit”退出Spark-Shell,如下所示。

scala > :quit

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值