spark 打包
- 作者: 八嘎呀路10086
- 来源: 51数据库
- 2020-09-21
,客户端和虚拟集群中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后安装。
基于eclipse的Spark IDE
以WordCount为例:
package com.lxw.test
import org.apache.spark.{SparkConf, SparkContext}
import SparkContext._
object WordCount {
def main (args: Array[String]) {
if(args.length < 2) {
println("Usage: WordCount ")
System.exit(1)
}
val hdfsIn = args(0);
val hdfsOut = args(1);
val sc = new SparkContext(new SparkConf().setAppName("WordCount"))
val srcData = sc.textFile(hdfsIn)
val result = srcData.flatMap(_.split("\\s+")).map((_,1)).reduceByKey(_+_)
result.saveAsTextFile(hdfsOut)
}
}
在eclipse中将程序打成普通的Java jar包即可。
在Spark的一台Client机器上使用spark-submit来提交运行jar包:
$SPARK_HOME/bin/spark-submit \ --name "lxw1234-wordcount" \ --master spark://192.168.1.130:7077 \ --executor-memory 1G \ --class com.lxw.test.WordCount \ /home/lxw1234/lxw-spark.jar /logs/site/2015-05-14/ /tmp/lxwoutput
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后安装。
基于eclipse的Spark IDE
以WordCount为例:
package com.lxw.test
import org.apache.spark.{SparkConf, SparkContext}
import SparkContext._
object WordCount {
def main (args: Array[String]) {
if(args.length < 2) {
println("Usage: WordCount ")
System.exit(1)
}
val hdfsIn = args(0);
val hdfsOut = args(1);
val sc = new SparkContext(new SparkConf().setAppName("WordCount"))
val srcData = sc.textFile(hdfsIn)
val result = srcData.flatMap(_.split("\\s+")).map((_,1)).reduceByKey(_+_)
result.saveAsTextFile(hdfsOut)
}
}
在eclipse中将程序打成普通的Java jar包即可。
在Spark的一台Client机器上使用spark-submit来提交运行jar包:
$SPARK_HOME/bin/spark-submit \ --name "lxw1234-wordcount" \ --master spark://192.168.1.130:7077 \ --executor-memory 1G \ --class com.lxw.test.WordCount \ /home/lxw1234/lxw-spark.jar /logs/site/2015-05-14/ /tmp/lxwoutput
推荐阅读
