Spark快速入门之SBT安装

安装sbt

本文方法有些繁琐,可以查看github最新更新:用sbt编译spark源码
linux版本:CentOS6.7
sbt:    0.13.9
Spark中没有自带sbt,需要手动安装sbt,我的方法是下载sbt-launch.jar,然后将源改为国内源(aliyun),我选择将sbt安装在/usr/local/sbt中。
$sudo mkdir /usr/local/sbt
$sudo chown -R hadoop /usr/local/sbt   #username is hadoop.
$cd /usr/local/sbt
$mkdir sbtlaunch   #store sbt-launch.jar

1.下载sbt-launch.jar,并存放至/usr/local/sbt/sbtlaunch

$cd /usr/local/sbt/sbtlaunch
$wget https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.9/sbt-launch.jar -O ./sbt-launch.jar   #download sbt-launch.jar
$unzip -q ./sbt-launch.jar #解压
$ 

2.需要修改其中的./sbt/sbt.boot.properties文件,将[repositories]处修改为如下内容:

即增加一条aliyun-nexus的镜像。
$cd /usr/local/sbt/sbtlaunch
$vim ./sbt/sbt.boot.properties
修改为如下
[repositories]
  local
  aliyun-nexus: http://maven.aliyun.com/nexus/content/groups/public/
  jcenter: https://jcenter.bintray.com/
  typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
  maven-central

3.删除原来的sbt-launch.文件,然后重新打包

$rm ./sbt-launch.jar           #delete the old jar
$jar -cfM ./sbt-launch.jar .   #create new jar 

4.在/usr/local/sbt目录下创建sbt脚本文件并赋予可执行权限,来执行sbt-launch.jar

$cd /usr/lcoal/sbt
$vim ./sbt         #create sbt script
添加如下内容:
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname`/sbt-launch.jar "$@"    #dirname为路径名 
my dirname : /usr/local/sbt/sbtlaunch

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

$chmod u+x ./sbt

6.最后检验sbt是否可用

$./sbt sbt-version

这一步请耐心等待,不要怀疑我天朝的网速,笔者出现第一条信息时等待了约10分钟,只要得到如下版本信息就没有问题:
这里写图片描述

7.创建hello world项目,并编译,打包,运行。

7.1 hello world的目录结构是:

这里写图片描述

代码如下:

$mkdir ~/simpleapp
$mkdir ~/simpleapp/src
$mkdir ~/simpleapp/src/main
$mkdir ~/simpleapp/src/main/scala
$vim SimpleApp.scala   #内容如下

SimpleApp.scala

object SimpleApp{
        def main(args: Array[String]){
                println("Hello World!")
        } 
}
7.2 创建simple.sbt
$cd ~/simpleapp
$vim ./simple.sbt      #内容如下

simple.sbt内容如下:每一行之间空一行。scala version 和 spark版本信息根据所安装的spark所写。笔者安装的是spark2.1.0和scala 2.11.8。

name :="Simple Project"

version :="1.0"

scalaVersion := "2.11.8"

libraryDependencies +="org.apache.spark" %% "spark-core" % "2.1.0"
7.3配置环境变量,编译和运行。
$vim ~/.bashrc 		#在开头添加如下内容:export PATH=/usr/local/sbt:$PATH
$source ~/.bashrc         #使之生效
$cd ~/simpleapp
$sbt compile           #编译,等待很久,天朝龟速
$sbt package           #打包
$/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar   #将生成的jar包通过spark-summit提交到spark中执行
编译打包运行界面如下:

这里写图片描述


写在最后:

参考官网文档:手动安装sbt
参考给力星的博客:Spark快速入门指南
致谢。
Spark 官方文档是学习 Spark 的重要参考资料之一,可以帮助你快速入门。以下是 Spark 官方文档中的 Spark 快速入门部分的内容: 1. 安装 Spark 首先,你需要在机器上安装 SparkSpark 支持多种安装方式,包括使用包管理器进行安装,从 Spark 官网下载二进制包等。在安装完成后,你需要设置环境变量,以便能够在命令行中使用 Spark。 2. 运行 Spark Shell Spark Shell 是 Spark 提供的一个交互式 Shell,可以通过命令行与 Spark 进行交互。你可以使用以下命令启动 Spark Shell: ``` ./bin/spark-shell ``` 3. Spark 上的第一个应用程序 在 Spark Shell 中,你可以编写 Spark 应用程序,并直接在 Shell 中运行。下面是一个简单的 Spark 应用程序,它读取一个文本文件并计算每个单词出现的次数: ``` val textFile = sc.textFile("hdfs://...") val counts = textFile.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) counts.saveAsTextFile("hdfs://...") ``` 在这个应用程序中,我们使用了 Spark 的核心概念,包括 RDD、flatMap、map 和 reduceByKey。通过运行这个应用程序,你可以学习到 Spark 的基本操作方式。 4. Spark 应用程序的打包和部署 当你编写了一个 Spark 应用程序后,你需要将其打包成 JAR 文件,并在集群中运行。你可以使用 Maven、SBT 或其他构建工具来打包 Spark 应用程序。一旦打包完成,你可以使用以下命令在集群中运行应用程序: ``` ./bin/spark-submit --class com.example.MyApp --master spark://host:port myApp.jar ``` 以上就是 Spark 官方文档中的 Spark 快速入门部分的内容。希望能够对你学习 Spark 有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值