Spark学习记录(一)Spark 环境搭建以及worldCount示例

安装Spark
-------------------

首先,安装spark之前需要先安装scala,并且安装scala的版本一定要是将要安装的spark要求的版本。比如spark2.1.0 要求scala 2.11系列的版本,不能多也不能少
1.下载spark-2.1.0-bin-hadoop2.7.tgz

地址:http://spark.apache.org/downloads.html
2.解压

Linux中:
3.环境变量
[/etc/profile]
SPARK_HOME=/soft/spark
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

[source]
$>source /etc/profile

Windos系统中:

将spark安装目录的bin目录以及sbin目录添加到path环境变量中

4.验证spark
运行spark的bin目录中的spark-shell

5.webUI
http://localhost:4040/

注:在spark-shell中 函数.(注意“.”)可以查看api

spark实现word count
------------------------

创建测试文档test.txt内容为

hello world1
hello world2
hello world3
hello world4

打开spark-shell按行执行下列命令

//单词统计1
$scala>val rdd1 = sc.textFile("/home/centos/test.txt")
$scala>val rdd2 = rdd1.flatMap(line=>line.split(" "))
$scala>val rdd3 = rdd2.map(word = > (word,1))
$scala>val rdd4 = rdd3.reduceByKey(_ + _)
$scala>rdd4.collect

//单词统计2
sc.textFile("/home/centos/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect

//统计所有含有wor字样到单词个数。filter

//过滤单词
sc.textFile("/home/centos/test.txt").flatMap(_.split(" ")).filter(_.contains("wor")).map((_,1)).reduceByKey(_ + _).collect

[API]
SparkContext:
Spark功能的主要入口点。代表到Spark集群的连接,可以创建RDD、累加器和广播变量.
每个JVM只能激活一个SparkContext对象,在创建sc之前需要stop掉active的sc。

SparkConf:
spark配置对象,设置Spark应用各种参数,kv形式。

分别以scala以及Java实现wordcount示例

----------------------------------------------------------

创建Java项目,添加maven以及scala支持:

项目中添加spark依赖包

scala版:

Java版:

直接运行即可,输出如下:

有此可见scala与Java开发Spark的代码差异,太巨大了,还是别偷懒赶紧去学scala吧,开发效率不是一个级别的。

接下来我们可以把我们的项目打成jar包,通过spark-submit命令在spark中运行:

spark-submit --master [主节点地址] --name [任务名称] --class [jar包的main方法入口类名] [jar包地址]

spark-submit --master local --name myWordCount --class WordCountScala D:\workSpace\58QF\sparkFirst\target\sparkFirst-1.0-SNAPSHOT.jar

猜你喜欢

转载自my.oschina.net/u/3687664/blog/2876012