sbt的安装和应用(详细步骤)

安装

解压

将sbt-1.6.1.tgz上传到xshell,并解压

解压:

tar -zxvf sbt-1.6.1.tgz

配置

1、在/home/ZQ/sbt中创建sbt脚本

cd sbt
vim ./sbt

 在脚本中添加如下内容:

#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /home/ZQ/sbt/bin/sbt-launch.jar "$@"

2、为sbt脚本文件增加可执行权限

chmod u+x ./sbt

3、运行如下命令,检查sbt是否可用(查看sbt的版本信息)

./sbt sbtVersion

sbt的运用

1、创建存放代码的目录

mkdir -p sparkapp/src/main/scala/

2、编写代码

vim sparkapp/src/main/scala/test1.scala

 

在test1.scala文件中增加如下内容

object HelloWorld{

        def main(args:Array[String]){

                println("hello world!");

        }

}

 

3、进入sparkapp目录编写sbt程序

cd sparkapp/
vim simple.sbt

在simple.sbt中添加如下内容:

name := "Simple Project" 
version := "1.6.1"   
scalaVersion := "2.12.10"
libraryDependencies += "org.apache.spark" %% "spark-core" % "3.1.1" 

 

4、打包scala程序(必须在sbt/sparkapp这个路径下操作)

cd sbt/sparkapp/
/home/ZQ/sbt/sbt package

 (打包生成的jar包在sbt/sparkapp/target/scala-2.12/simple-project_2.12-1.6.1.jar) 

5、通过spark-submit运行程序

 /home/ZQ/spark-3.1.1-bin-hadoop2.7/bin/spark-submit --class "HelloWorld" ./target/scala-2.12/simple-project_2.12-1.6.1.jar

复杂代码的实现

1、创建一个代码文件Combine.scala

cd sbt/sparkapp/src/main/scala/
vim Combine.scala

 在文件中增加如下内容:

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
object Combine{
   def main(args:Array[String]){
      val conf=new SparkConf().setAppName("Combine").setMaster("local")
      val sc=new SparkContext(conf)
      val data=sc.parallelize(Array(("company-1",88),("company-1",96),("company-1",85),("company-2",94),("company-2",86),("company-2",74),("company-3",86),("company-3",88),("company-3",92)),3)
      val res=data.combineByKey((income)=>(income,1),(acc:(Int,Int),income)=>(acc._1+income,acc._2+1),(acc1:(Int,Int),acc2:(Int,Int))=>(acc1._1+acc2._1,acc1._2+acc2._2)).map({case (key,value)=>(key,value._1,value._1/value._2.toFloat)})
      res.repartition(1).saveAsTextFile("file:/home/ZQ/sbt/sparkapp/result/rdd/result1")
     }
}

2、在sbt中编译打包(必须在cd sbt/sparkapp目录下

cd
cd sbt/sparkapp
/home/ZQ/sbt/sbt package

3、使用spark-submit命令提交运行(必须在cd sbt/sparkapp目录下

/home/ZQ/spark-3.1.1-bin-hadoop2.7/bin/spark-submit --class "Combine" ./target/scala-2.12/simple-project_2.12-1.6.1.jar

4、运行后查看结果

cd result/rdd/result1/
vim part-00000

 结果:

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值