您的位置:首页 > 其它

spark配置(5)-独立应用程序

2016-06-25 07:42 537 查看
独立应用程序(Self-ContainedApplications)

现在基于一个简单的APP,通过SparkAPI编写一个独立应用程序。

使用Scala编写的程序需要使用sbt进行编译打包,相应的,Java程序使用Maven编译打包,而Python程序通过spark-submit直接提交。

PS:好像spark2.0支持RDD以外的一种数据集(DataSets),对python处理的性能有很大提升,几乎与scala性能旗鼓相当。

cd~#进入用户主文件夹

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

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

[/code]
./sparkapp/src/main/scala下建立一个名为SimpleApp.scala的文件:

/*SimpleApp.scala*/

importorg.apache.spark.SparkContext

importorg.apache.spark.SparkContext._

importorg.apache.spark.SparkConf


objectSimpleApp{

defmain(args:Array[String]){

vallogFile="file:///usr/local/spark/README.md"//Shouldbesomefileonyoursystem

valconf=newSparkConf().setAppName("SimpleApplication")

valsc=newSparkContext(conf)

vallogData=sc.textFile(logFile,2).cache()

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

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

println("Lineswitha:%s,Lineswithb:%s".format(numAs,numBs))

}

}

[/code]
该程序计算/usr/local/spark/README文件中包含“a”的行数和包含“b”的行数。

程序依赖SparkAPI,因此我们需要通过sbt进行编译打包。

vim./sparkapp/simple.sbt

[/code]添加:

name:="SimpleProject"


version:="1.0"


scalaVersion:="2.10.5"


libraryDependencies+="org.apache.spark"%%"spark-core"%"1.6.1"

[/code]
文件simple.sbt需要指明Spark和Scala的版本。

启动Sparkshell的过程中可以看到





安装sbt

sudomkdir/usr/local/sbt

sudochown-Rhadoop/usr/local/sbt

cd/usr/local/sbt

[/code]

cp/home/yuan/Downloads/sbt-launch\\(1\).jar/usr/local/sbt/sbt-launch.jar


chmodu+x./sbt


[/code]

./sbtsbt-version

[/code]

参考/转载:http://www.powerxing.com/spark-quick-start-guide/

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: