博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
009 搭建Spark的maven本地windows开发环境以及测试
阅读量:6183 次
发布时间:2019-06-21

本文共 5170 字,大约阅读时间需要 17 分钟。

        在看完下面的细节之后,就会发现,spark的开发,只需要hdfs加上带有scala的IDEA环境即可。

    当run运行程序时,很快就可以运行结束。

        为了可以看4040界面,需要将程序加上暂定程序,然后再去4040上看程序的执行。

 

  新建的两种方式,第一种是当时老师教的,现在感觉有些土,但是毕竟是以前写的,不再删除,就自己在后面添加了第二种新建方式。

 

一:通过maven命令行命令创建一个最初步的scala开发环境

1.打开cmd

  通过maven命令创建一个最初步的scala开发环境。

  mvn archetype:generate -DarchetypeGroupId=org.scala-tools.archetypes -DarchetypeArtifactId=scala-archetype-simple  -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=com.ibeifeng.bigdata.spark.app -DartifactId=logs-analyzer -Dversion=1.0

  分两个部分,前面是scala项目需要的插件,后面是确定一个maven工程。

  

 

2.等待创建

  这样就表示创建成功。

  

 

3.生成的项目在F盘

  因为在cmd的时候,进入的是F盘。

  

 

4.使用open导入

  一种IDEA的使用打开方式。

  

 

5.在pom.xml中添加dependency

  HDFS ,Spark core ,Spark SQL ,Spark Streaming

  这个里面重要的部分是有scala的插件。

1 
2
5
4.0.0
6 7
sacla
8
scalaTest
9
1.0-SNAPSHOT
10 11
12
1.5
13
1.5
14
UTF-8
15
1.6.1
16
2.5.0
17
18 19
20
21
22
org.apache.spark
23
spark-core_2.10
24
${spark.version}
25
compile
26
27
28
29
org.apache.spark
30
spark-sql_2.10
31
${spark.version}
32
compile
33
34
35
36
org.apache.spark
37
spark-streaming_2.10
38
${spark.version}
39
compile
40
41
42
43
org.apache.hadoop
44
hadoop-client
45
${hadoop.version}
46
compile
47
48 49
50
51
junit
52
junit
53
4.8.1
54
test
55
56 57
58 59
60
src/main/scala
61
62
63
org.scala-tools
64
maven-scala-plugin
65
2.15.0
66
67
68
69
compile
70
testCompile
71
72
73
74
-make:transitive
75
-dependencyfile
76
${project.build.directory}/.scala_dependencies
77
78
79
80
81
82
83
org.apache.maven.plugins
84
maven-surefire-plugin
85
2.6
86
87
false
88
true
89
90
91
92
**/*Test.*
93
**/*Suite.*
94
95
96
97
98
99 100

 

二:第二种方式

  这种方式,比较实用。

1.直接新建一个Maven工程

  需要在pom中添加scala的插件。

 

2.新建scala文件夹

  原本生成的maven项目只有java与resources。

  在project Stucture中新建scala文件夹,然后将scala文件夹编程sources。

  

 

3.完成

  这个截图还是第一种方式下的截图,但是意思没问题。

  

 

4.在resources中拷贝配置文件

  需要连接到HDFS的配置文件。

  

 

5.新建包

 

6.新建类

  因为有了scala插件,就可以直接新建scala 的 object。

  

 

7.启动hdfs

  因为需要hdfs上的文件,不建议使用本地的文件进行数据处理。  

 

8.书写程序

  这是一个简单的单词统计。

  重点的地方有两个,一个是setMaster,一个是setAppName。如果没有设置,将会直接报错。

1 package com.scala.it 2  3 import org.apache.spark.{SparkConf, SparkContext} 4  5 object TopN { 6   def main(args: Array[String]): Unit = { 7     val conf=new SparkConf() 8       .setMaster("local[*]") 9       .setAppName("top3");10     val sc=new SparkContext(conf)11     val path="/user/beifeng/mapreduce/wordcount/input/wc.input"12     val rdd=sc.textFile(path)13     val N=314     val topN=rdd15       .filter(_.length>0)16         .flatMap(_.split(" ").map((_,1)))17         .reduceByKey((a,b)=>a+b)18         .top(N)(ord = new Ordering[(String,Int)] {19           override def compare(x: (String, Int), y: (String, Int)) : Int={20             val tmp=x._2.compareTo(y._2)21             if (tmp==0)x._1.compareTo(y._1)22             else tmp23           }24         })25     topN.foreach(println)26 27     sc.stop()28 29   }30 }

 

9.直接运行的结果

  因为是local模式,所以不需要启动关于spark的服务。

  又因为hdfs的服务已经启动。

  所以,直接运行run即可。

  

 

二:注意的问题

1.path问题

  程序中的path默认是hdfs路径。

  当然,可以使用windows本地文件,例如在D盘下有abc.txt文件,这时候path="file:///D:/abc.txt"

 

转载地址:http://kcsda.baihongyu.com/

你可能感兴趣的文章
面试真题讲解
查看>>
RESTful接口设计原则和优点
查看>>
ECSHOP商品页添加任意字段方法
查看>>
[转载]python学习目录(转至袁先生的博客)
查看>>
js prototype之诡异
查看>>
一个上传EXCEL导入示例
查看>>
CLGeocoder Error Domain=kCLErrorDomain Code=2
查看>>
WindowsDriver_书
查看>>
[c#]获取exchange中的图片
查看>>
webpack+vue img的src问题
查看>>
爬虫代理清洗
查看>>
linux每日命令(17):which命令
查看>>
设计模式(抽象工厂)
查看>>
WebRequest和WebResponse, 对指定的URI发出请求以及接收响应(转)
查看>>
codeforces732F Tourist Reform(边双连通分量)
查看>>
windows命令行下简单使用javac、java、javap详细演示
查看>>
空间如何通过伪静态实现301重定向
查看>>
自适应滤波:维纳滤波器——LCMV及MVDR实现
查看>>
Column 'id' in field list is ambiguous
查看>>
判断是否纯IE浏览器 JS
查看>>