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依赖包

image2018-9-28_14-51-14.png?version=1&modificationDate=1538117473000&api=v2

scala版:

image2018-9-28_14-47-18.png?version=1&modificationDate=1538117237000&api=v2

Java版:

image2018-9-28_14-47-41.png?version=1&modificationDate=1538117261000&api=v2

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

image2018-9-28_14-48-10.png?version=1&modificationDate=1538117289000&api=v2

有此可见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

image2018-9-28_15-58-52.png?version=1&modificationDate=1538121531000&api=v2

转载于:https://my.oschina.net/u/3687664/blog/2876012

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值