spark安装使用及编程和问题解决

1、安装spark(Hadoop、JAVA JDK已安装)

命令如下:

sudo tar -zxf /home/ra/spark-1.6.2-bin-without-hadoop.tgz -C /usr/local/

cd /usr/local

sudo mv ./spark-1.6.2-bin-without-hadoop/ ./spark

sudo chown -R ra:ra ./spark
在这里插入图片描述
安装后,修改Spark的配置文件spark-env.sh

cp /usr/local/spark/conf/spark-env.sh.template /usr/local/spark/conf/spark-env.sh

sudo gedit /usr/local/spark/conf/spark-env.sh

编辑spark-env.sh文件,在第一行添加以下配置信息:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
在这里插入图片描述
配置完成后就可以直接使用,通过运行Spark自带的示例,验证Spark是否安装成功。

cd /usr/local/spark

bin/run-example SparkPi 2>&1 | grep “Pi is”#通过 grep 命令进行过滤
在这里插入图片描述
2、使用 Spark Shell 编写代码

(1)启动Spark Shell

bin/spark-shell

启动spark-shell后,会自动创建名为sc的spark context对象和名为sqlContext的sql context对象,如图:
spark安装使用及编程和问题解决_第1张图片
(2)加载text文件

spark创建sc,可以加载本地文件和HDFS文件创建RDD。下面用Spark自带的本地文件README.md文件测试。

val textFile = sc.textFile(“file:///usr/local/spark/README.md”)
spark安装使用及编程和问题解决_第2张图片
(3)简单RDD操作

具体命令及运行截图如下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(4)退出spark

输入exit或者:quit

3、独立应用程序编程

(1)Scala独立应用编程

安装sbt,下载sbt-launch.jar

进行如下操作

sudo mkdir /usr/local/sbt

sudo chown -R sun /usr/local/sbt # 此处的sun 为我电脑虚拟机用户名

cd /usr/local/sbt

执行如下命令将sbt-launch.jar拷贝至 /usr/local/sbt 中

cp ~/下载/sbt-launch.jar .

接着在 /usr/local/sbt 中创建 sbt 脚本,getdit ./sbt,添加如下内容:

#!/bin/bash

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -X:MaxPermSize=256M"

java $SBT_OPTS -jar dirname $0/sbt-launch.jar “$@”

保存后,为 ./sbt 脚本增加可执行权限:

chmod u+x ./sbt

最后运行如下命令,检验 sbt 是否可用

./sbt sbt-version,需要等待下载

如下信息显示成功:
spark安装使用及编程和问题解决_第3张图片

(2)Scala应用程序代码

在终端中执行如下命令创建一个文件夹 sparkapp 作为应用程序根目录:

cd ~ # 进入用户主文件夹

mkdir ./sparkapp # 创建应用程序根目录

mkdir -p ./sparkapp/src/main/scala # 创建所需的文件夹结构

在./sparkapp/src/main/scala下建立一个名为SimpleApp.scala 的文件(gedit ./sparkapp/src/main/scala/SimpleApp.scala),添加代码如下:
spark安装使用及编程和问题解决_第4张图片

该程序依赖 Spark API,因此需要通过 sbt 进行编译打包。 ./sparkapp 中新建文件 simple.sbt(gedit ./sparkapp/simple.sbt),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系:
spark安装使用及编程和问题解决_第5张图片
libraryDependencies += “org.apache.spark” %% “spark-core” % “1.6.3”//安装的spark为1.6.3版本,信息如下
spark安装使用及编程和问题解决_第6张图片

(3)使用 sbt 打包 Scala 程序

为保证 sbt 能正常运行,先执行如下命令检查整个应用程序的文件结构:

cd ~/sparkapp

find .

文件结构如下:
spark安装使用及编程和问题解决_第7张图片

接着,通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包 ):

/usr/local/sbt/sbt package,需要等待下载

如图则打包成功:
在这里插入图片描述

(4)通过 spark-submit 运行程序

将生成的 jar 包通过 spark-submit 提交到 Spark 中运行,命令如下:

/usr/local/spark/bin/spark-submit --class “SimpleApp”
~/sparkapp/target/scala-2.10/simple-project_2.10-1.0.jar 2>&1 | grep “Lines
with a:”

得到如下结果:
在这里插入图片描述

4、Java独立应用编程

(1)安装maven

ubuntu中没有自带安装maven,需要手动安装maven。下载即可

选择安装在/usr/local/maven中:

sudo unzip ~/下载/apache-maven-3.3.9-bin.zip
-d /usr/local

cd /usr/local

sudo mv apache-maven-3.3.9/ ./maven

sudo chown -R sun ./maven #sun为我的电脑虚拟机用户名
在这里插入图片描述
(2)Java应用程序代码

在终端执行如下命令创建一个文件夹sparkapp2作为应用程序根目录

cd ~ #进入用户主文件夹

mkdir -p ./sparkapp2/src/main/java

在./sparkapp2/src/main/java 下建立一个名为 SimpleApp.java 的文件(gedit ./sparkapp2/src/main/java/SimpleApp.java),添加代码如下:
spark安装使用及编程和问题解决_第8张图片

该程序依赖Spark Java API,因此我们需要通过Maven进行编译打包。在./sparkapp2中新建文件pom.xml(gedit ./sparkapp2/pom.xml),添加内容如下,声明该独立应用程序的信息以及与Spark的依赖关系:
spark安装使用及编程和问题解决_第9张图片

(3)使用maven打包java程序

为了保证maven能够正常运行,先执行如下命令检查整个应用程序的文件结构:

cd ~/sparkapp2

find

文件结构如下图:
spark安装使用及编程和问题解决_第10张图片
接着,通过如下代码将这整个应用程序打包成Jar,首次运行同样下载依赖包,需要等待

/usr/local/maven/bin/mvn package

出现下图,生成Jar包成功:
spark安装使用及编程和问题解决_第11张图片
(4)通过spark-submit 运行程序

最后,通过将生成的jar包通过spark-submit提交到Spark中运行,如下命令:

/usr/local/spark/bin/spark-submit --class “SimpleApp”
~/sparkapp2/target/simple-project-1.0.jar 2>&1 | grep “Lines with a”

最后得到的结果如下:
在这里插入图片描述
到此结束

关于遇到的问题,可以看spark安装编程问题及解决

你可能感兴趣的:(spark安装使用及编程和问题解决)