Eclipse创建Spark的WordCount工程
来源:互联网 发布:莎士比亚别生气 知乎 编辑:程序博客网 时间:2024/06/03 20:07
环境:Linux16.0.4,Spark-2.1.0,
准备工作:
先在用户主目录下面创建一个test.txt文件,文件内容为:
Apple Apple Orange
Banana Grape Grape
然后:
(1)先创建一个scala工程,工程名为sparkwordcount,并新建一个scala object的.scala格式文件,文件名为wordcount。
(2)在工程下面新建一个libs文件下,将spark-2.1.0安装目录下面的jars文件夹下面的所有jar包拷贝到libs文件夹下面。
(3)选中libs文件夹下面的所有jar包,执行右键Build Path->Configure Build Path...
(4)添加以下代码到工程的wordcount.scala源文件中。
import org.apache.log4j.Loggerimport org.apache.log4j.Levelimport org.apache.spark.SparkContextimport org.apache.spark.SparkConfimport scala.util.Tryimport scala.util.control.Exception.Catchobject wordcount { def main(args:Array[String]):Unit= { Logger.getLogger("org").setLevel(Level.OFF) System.setProperty("spark.ui.showConsoleProgress", "false"); println("开始运行wordcount") val sc=new SparkContext(new SparkConf().setAppName("wordcount").setMaster("local[1]")) println("开始读取文本文件...") val textFile=sc.textFile("file:/home/zhang/test.txt") println("开始创建RDD...") val countsRDD=textFile.flatMap(f=>f.split(" ")).map(word=>(word,1)) .reduceByKey(_+_) println("开始保存到文本文件...") try{ countsRDD.saveAsTextFile("file:/home/zhang/output") println("已经存盘成功") } catch { case t: Exception => println("输出目录已经存在,请先删除原目录") // TODO: handle error } }}
(5)在Eclipse工具栏点击Run->Run Configurations..
在New Configurations设置界面中,按照下图的所示填入Name,Project,MainClass
然后点击应用,再点击Run。点击Run过后,有可能会报如下错误信息:
开始运行wordcountUsing Spark's default log4j profile: org/apache/spark/log4j-defaults.propertiesException in thread "main" java.lang.IllegalArgumentException: System memory 253427712 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.at org.apache.spark.memory.UnifiedMemoryManager$.getMaxMemory(UnifiedMemoryManager.scala:216)at org.apache.spark.memory.UnifiedMemoryManager$.apply(UnifiedMemoryManager.scala:198)at org.apache.spark.SparkEnv$.create(SparkEnv.scala:330)at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:174)at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:257)at org.apache.spark.SparkContext.<init>(SparkContext.scala:432)at wordcount$.main(wordcount.scala:15)at wordcount.main(wordcount.scala)
看到这个错误信息不必管它。
(6)将sparkwordcount工程导出到Jar文件包
点击Eclipse工具栏的File->Export...->Java->Jar File,然后点击Next。
导出到用户主目录,文件名为wordcount.jar
(7)如果在主目录下面有output文件夹则需要先删除文件夹
(8)输入命令:spark-submit --driver-memory 2g --master local[1] --class wordcount wordcount.jar,则可以看到如下显示:
表面命令已经执行完成,执行结果保存在output目录下面。
(7)cd到output文件下面,查看输出结果
zhang@Desktop1:~$ cd output/
zhang@Desktop1:~/output$ ls
part-00000 _SUCCESS
zhang@Desktop1:~/output$ cat part-00000
(Grape,2)
(Orange,1)
(Apple,2)
(Banana,1)
zhang@Desktop1:~/output$
如果是要在hadoop YARN上运行spark的wordcount。则需要先启动hadoop集群,
执行start-all.sh启动集群。然后执行
zhang@Desktop1:~$ spark-submit --driver-memory 2g --class wordcount --master yarn-client wordcount.jar
则输出以下信息:
Warning: Master yarn-client is deprecated since 2.0. Please use master "yarn" with specified deploy mode instead.
开始运行wordcount
开始读取文本文件...
开始创建RDD...
开始保存到文本文件...
已经存盘成功
zhang@Desktop1:~$
- Eclipse创建Spark的WordCount工程
- idea运行spark的wordcount与eclipse运行spark的wordcount示例,及本地运行sparkpi
- 007-spark的wordCount
- Spark入门的WordCount
- Spark的WordCount详解
- eclipse搭建storm的maven工程以及wordcount事例编写
- idea创建maven工程的spark项目
- scala-eclipse 编写spark简单程序 WordCount
- 使用eclipse开发spark程序 wordcount 事例
- eclipse编写wordcount提交spark运行
- Spark创建WordCount并统计词频
- Idea 使用Maven创建Spark WordCount 案例
- Spark 的JAVA版 wordCount
- spark-wordcount
- Spark-wordcount
- wordcount spark...
- wordCount spark
- spark wordcount
- Java工程师成神之路~
- Android之okhttp的用法
- oracle 单行函数
- HDU1272&POJ
- 我与python约个会:07程序设计开发基础
- Eclipse创建Spark的WordCount工程
- ubuntu下NFS挂载常见错误的解决方法[转载]
- Oracle 数据库字段乱码 或 sqlplus CMD乱码
- windows防火墙配置与勒索病毒防范-限制445端口访问
- 【运维】vim 编辑器
- 第1节---分别用HttpURLConnection和HttpClient爬取百度首页
- 买糖果
- 微信小程序 No.1 Array
- 虚拟机监控