折腾了一周的Spark,总算是有一点了解了。本文章所讲述的是从官网copy了一个Scala的例子,在本地打包之后,上传到集群中,用spark-submit提交任务。
官网例子:https://spark.apache.org/examples.html
新建一个Sacal工程,暂时先选择。
点击Finish,新建一个Scala文件,将官网例子代码贴入。
自己稍作完善,代码如下:
import org.apache.spark.{SparkContext, SparkConf} object WordCount { def main(args: Array[String]) { val conf = new SparkConf() conf.setAppName("WordCount").setMaster("spark://h230:7077").set("spark.executor.memory", "1g") val spark = new SparkContext(conf) val textFile = spark.textFile("hdfs://h230:9000/input/testspark.txt") val counts = textFile.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) counts.saveAsTextFile("hdfs://h230:9000/test/") } }
注:h230是我的主机名,须要根据自己的实际主机名更改。
在根目录下新建一个lib文件夹,加入依赖包。本例采用的Spark-1.3.1+Scala-2.10.5,请注意Spark和Scala有版本兼容问题。相关依赖包在官网下载的安装包的lib文件夹里都有。
打包步骤:
再将已打好包的Spark2Test.jar包上传至服务器。本例子将jar包上传至了Spark-1.3.1/lib目录下了。
进入之Spark-1.3.1/bin目录下执行命令:
./spark-submit --master spark://h230:7077 --name SparkPi --class WordCount ../lib/Spark2Test.jar执行过程中不报错,证明执行成功!这个时候可以在浏览器敲地址:http://h230:8080查看执行任务的情况。
再看看文件系统目录(hdfs://h230:9000/test/)里面有没有我的想要的结果。
进入hadoop-2.7.0/bin目录下执行命令:
./hadoop fs -ls /test
在hdfs下,貌似不能直接打开查看,可以用命令将其copy到本地进行查看:
./hadoop fs -copyToLocal /test/ /home/hadoop/SW/
copy到本地后,可随意查看文件内容。
到此本文就已结束,有不对或是不完善地方请多多指正以及多多谅解!
标签: Spark Scala WordCount linux 集群
分享:
下一篇java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
崇尚极简,热爱技术,喜欢唱歌,热衷旅行,爱好电子产品的一介码农。
联系QQ:58742094
联系电话:
工作邮箱:
当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!
人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。
Copyright 2015- 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号
免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。