Scala+Spark+Hadoop+IDEA上传并执行任务
本文接续上一篇文章,已经在IDEA中执行Spark任务执行完毕,测试成功。
上文链接:Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例)
一、打包
1.1 将setMaster注释掉
package day05
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
import scala.collection.mutable
/**
* 打包注意事项:1,将setMaster注释掉
* 2,不需要打印
*/
object SparkWordCount {
def main(args: Array[String]): Unit = {
//配置信息类
//1,setAppName(任务名称) setMaster(表示开启多少个线程运行)
System.setProperty("hadoop.home.dir", "/usr/local/hadoop-2.7.5")
val conf: SparkConf = new SparkConf().setAppName("SparkWordCount")//.setMaster("local[*]")
//上下文对象
val sc: SparkContext = new SparkContext(conf)
//读取数据(数据通过数组 args进入)
val lines: RDD[String] = sc.textFile(args(0))
//处理数据
val map01: RDD[(String, Int)] = lines.flatMap(_.split(" ")).map((_, 1))
val wordCount: RDD[(String, Int)] = map01.reduceByKey(_ + _).sortBy(_._2, false)
val wcToBuffer: mutable.Buffer[(String, Int)] = wordCount.collect().toBuffer
// println(wcToBuffer)
sc.stop()
}
}
1.2 打开 clear 并打包
(1)工具栏-->view-->Tool Buttons(右侧出现 Maven Project)
(2)双击clean
(3)双击package
打包结果:(出现target、连个jar包)
注意:如果出现ClassNotFound 并且出现了只有一个Jar包的话,就将其他的没有用的类删掉,只留下当前类。
1.3 拷贝生成的Jar包
二、上传
2.1 将Jar包拷贝到指定目录下(我这儿将scala02-1.0-SNAPSHOT.jar改名为 swc.jar)
/root/swc.jar
2.2 在spark中运行
./bin/spark-submit --class day05.SparkWordCount --master spark://centos01:7077 --executor-memory 1g --total-executor-cores 2 /root/swc.jar hdfs://centos01:9000/ws hdfs://centos01:9000/outp
–class设定的是程序的入口点,也就是我们的驱动类,这点和Hadoop MapReduce 程序很相似。
–master是我们设置的master URL,这里官方有详细的参数列表:
- local:在本地的单线程运行
- local[k]:在本地多线程运行,运行线程数为K
- local[*]:在本地多线程运行,尽可能多的线程数量
- spark://HOST:PORT :连接上spark单点模式运行,端口PORT是提前配置好的,默认端口7077
- mesos://HOST:PORT :连接上mesos(好像是一种集群支持工具,没有深入研究)
- yarn :基于Hadoop的yarn运行,集群的位置在 HADOOP_CONF_DIR ,YARN_CONF_DIR这两个变量指定的位置
2.3 从Web ui查看信息是否上传成功。
(1)查看spark任务
(2)查看hdfs 文件上传
(3)通过命令来查看内容。
[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00000
(hello,12)
(java,9)
[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00001
(scala,7)
(new,7)
(work,7)
(python,5)
[root@centos01 spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00002
(javaScript,4)
(jvm,4)
(world,3)
[root@centos01 spark-1.6.3-bin-hadoop2.6]#
完美呈现~~
欢迎订阅关注公众号(JAVA和人工智能)
获取更多免费书籍、资源、视频资料
文章超级链接:
4,IntelliJ IDEA(最新)安装-破解详解--亲测可用
8,Spark-集群安装、部署、启动、测试(1.6.3)稳定版
9,Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例--上)