scala程序怎么形成jar包 sbt

scala程序怎么形成jar包 sbt,第1张

一、编写第一个用scala写的spark应用:

仿照spark的 quick-start的Self-Contained Applications写出第一个scala完整程序

链接如下:

即:

/* SimpleApp.scala */import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._import org.apache.spark.SparkConfobject SimpleApp {

def main(args: Array[String]) {

val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system

val conf = new SparkConf().setAppName("Simple Application"脊手)

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2).cache()

val numAs = logData.filter(line =>line.contains("a")).count()

val numBs = logData.filter(line =>line.contains("b")).count()

println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))

}}

整个程序作用是:找到这个文件

YOUR_SPARK_HOME/README.md

中有几个a和几个b。

二、用sbt进行打包成jar:

命令:sbt package

具体步骤见

中的Self-Contained Applications

打包时候几点注意:

1、

目录结构一定要对

目录结构可以通过find .来看

有点类似cmake的感觉

2、

总时间,近30分钟,开始打开会terminal没现象10分钟,然后开始要各种resolve,之后要下载很多库,我这边滑衡网速超慢

sbt是个联网编译器,

Spark的应用用到了很多RDD的变换,来编译这些库都得去网上下相应的包樱让嫌

最后显示,编译时间11s

这时成功完成SimpleApp

三、在本机上测试:

命令为:

YOUR_SPARK_HOME/bin/spark-submit \

--class "SimpleApp" \

--master local[4] \

target/scala-2.10/simple-project_2.10-1.0.jar

我对jar的理解就是一个可执行文件了,这个可执行文件在JVM上就可以跑了,local中4是指设置成4个线程,但具体原因我也不知道

注意submit的参数:

--class中 SimpleApp是包名

上传的的jar的地址别写错

一、编写第一个用scala写的spark应用:

仿照spark的 quick-start的Self-Contained Applications写出第一个scala完整程序

链接如下:

即:

/* SimpleApp.scala */import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._import org.apache.spark.SparkConfobject SimpleApp {

def main(args: Array[String]) {

val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system

val conf = new SparkConf().setAppName("Simple Application")

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2).cache()

val numAs = logData.filter(line =>line.contains("a")).count()

val numBs = logData.filter(line =>line.contains("b")).count()

println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))

}}

整个程序作用是:找到这个文件

YOUR_SPARK_HOME/README.md

中有几个a和几个b。

二、用sbt进行打包成jar:

命令:sbt package

具体步骤见

中的Self-Contained Applications

打包时候几点注意:

1、

目录结构一定要对

目录结构可以通过find .来看

有点类似cmake的感觉

2、

总时间,近30分钟,开始打开会terminal没现象10分钟,然后开始要各种resolve,之后要下载很多库,我这边网速超慢

sbt是个联网编译器,

Spark的应用用到了很多RDD的变换,来编译这些库都得去网上下相应的包

最后显示,编译时间11s

这时成功完成SimpleApp

三、在本机上测试:

命令为:

YOUR_SPARK_HOME/bin/spark-submit \

--class "SimpleApp" \

--master local[4] \

target/scala-2.10/simple-project_2.10-1.0.jar

我对jar的理解就是一个可执行文件了,这个可执行文件在JVM上就可以跑了,local中4是指设置成4个线程,但具体原因我也不知道

注意submit的参数:

--class中 SimpleApp是包名

上传的的jar的地址别写错

阅读全文

下载scala for intellij idea的插件

如上图,直接在plugins里搜索Scala,然后安装即可,如果不具备上网环境,或网速不给力。也可以直接到http://plugins.jetbrains.com/plugin/?idea&id=1347手动下载插件的zip包,手动下载时,要特别注意版本号,一定要跟本机的intellij idea的版本号匹配,否则下载后无法安装。下载完成后,在上图中,点击“Install plugin from disk...”,选择插件包的zip即可。

3、如何跟maven整合

网上有一堆教程讲idea如何new module或new project一步一步来创建scala工程,在这里我不推荐这个。原因是现在主流的开发环境,大多数是采用maven来滚型构建项目的,所以建议大家用maven+plugin的方式来构建scala应用,另外,就象VB.NET/C#/F#可同时在一个项目中使用,最大限度发挥各语种特长一样,java与可以与scala在一个项目中混合使用。见下面的pom.xml示例:

View Code

最下面的plugin是用来编译scala源代码的,毕竟java与scala是二种不同的语言,有各自的sdk和编译器,所以需陵毁要专门的尺备备maven插件来处理scala的编译。

项目的目录结构,大体跟maven的默认约定一样,只是src下多了一个scala目录,如下图:

将编写闷败拦好的scala代码编译后,放到sprak上执行,下面蚂胡是执行的脚本枯迟:

$SPARK_HOME/bin/spark-submit --class com.linker.demo.utils.UserClickCountAnalytics ./target/scala-2.10/sbtdemo1_2.10-1.0.jar


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12476761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存