实验七:Spark初级编程实践
一、实验目的
掌握使用 Spark 访问本地文件和 HDFS 文件的方法
掌握 Spark 应用程序的编写、编译和运行方法
二、实验平台
操作系统:Ubuntu16.04
Spark版本:2.1.0
scala版本:2.11.8
Hadoop版本:2.7.1
三、实验步骤
1. 准备工作(镜像已包含,不用安装)
(1)安装spark及其API程序
安装 spark:Ubuntu下安装Spark2.11.8
安装 sbt:Ubuntu下为Spark安装配置sbt
(2)配置环境变量
修改你的 .bashrc 文件:
vim ~/.bashcrc
添加以下内容至文件顶部:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
使修改立即生效:
source ~/.bashrc
(3)启动Hadoop
进入 Hadoop 安装目录:
cd /usr/local/hadoop
启动并使用 jps 检查结点:
./sbin/start-dfs.sh
jps
2. Spark读取文件系统的数据
(1)在spark-shell中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数;
创建 test.txt:
echo -e "Hello\nThis is a test\nBye!" >> ~/test.txt
启动 spark-shell:
cd /usr/local/spark
./bin/spark-shell
Scala 命令:
val textFile=sc.textFile("file:///home/hadoop/test.txt")
textFile.count()
输出如下:
scala> val textFile=sc.textFile("file:///home/hadoop/test.txt")
textFile: org.apache.spark.rdd.RDD[String] = file:///home/hadoop/test.txt MapPartitionsRDD[1] at textFile at <console>:23
scala> textFile.count()
res0: Long = 3
(2)在spark-shell中读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;
上传 test.txt 文件至 HDFS 中(终端中执行,退出