仿照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的地址别写错
阅读全文
,客户端和虚拟集群中hadoop、spark、scala的安装目录是一致的,这样开发的spark应用程序的时候不需要打包spark开发包和scala的库文件,减少不必要的网络IO和磁盘IO。当然也可以不一样,不过在使用部署工具spark-submit的时候需要参数指明classpath。1:IDEA的安装
官网jetbrains.com下载IntelliJ IDEA,有Community Editions 和&Ultimate Editions,前者免费,用户可以选择合适的版本使用。
根据安装指导安装IDEA后,需要安装scala插件,有两种途径可以安装scala插件:
启动IDEA ->Welcome to IntelliJ IDEA ->Configure ->Plugins ->Install JetBrains plugin... ->找到scala后安装。
启动IDEA ->Welcome to IntelliJ IDEA ->Open Project ->File ->Settings ->plugins ->Install JetBrains plugin... ->找到scala后安装。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)