快速搭建Spark环境之local本地模式-Spark初体验(2)

2021-04-13 11:04:48 浏览数 (1)

Spark环境搭建

上一篇《大数据最火的Spark你确定不来了解一下吗?(1)》给大家详细介绍了Spark,下面教给大家怎样去搭建Spark的环境.

铁子话不多说,开整 ↓↓↓↓↓↓

目录:

  • Spark环境搭建
    • local本地模式-Spark初体验
        • 安装
          • 1、解压
          • 2、启动spark-shell
          • 3、初体验-读取本地文件
          • 4、初体验-读取HDFS文件

local本地模式(单机)–开发测试使用

■我们选择目前企业中使用最多的稳定版Spark2.2.0

■使用Apache版还是CDH版?

1.Apache版直接下载官方编译好的基于Apache Hadoop的Spark即可

2.自己下载Spark源码基于CDH Hadoop重新编译

因为CDH5.14版 Spark基于Spark1.6版本较低,且为了推广自家的Impala对Spark SQL进行了阉割,所以要重新编译

★注意1:

大家之前安装的如果是CDH的Hadoop那么安装Spark的时候使用红线标出的重新编译之后的CDH版Spark即可

这里给大家提供的是编译好的安装包,铁子们直接拿去用。

(链接失效请私信博主)

代码语言:javascript复制
链接:https://pan.baidu.com/s/1WjG5fFxKp3W14PyAdIxqvw 
提取码:xzm5

local本地模式-Spark初体验

安装
代码语言:javascript复制
(先将spark安装包上传)
1、解压
代码语言:javascript复制
cd /export/servers
tar  -zxvf spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz


●注意:

如果有权限问题,可以修改为root,方便学习时操作,实际中使用运维分配的用户和权限即可
chown -R root /export/servers/spark 
chgrp -R root /export/servers/spark  


●解压目录说明:

bin        可执行脚本
conf       配置文件
data       示例程序使用数据
examples   示例程序
jars       依赖 jar 包
python     pythonAPI
R          R 语言 API
sbin       集群管理命令
yarn       整合yarn需要的东东
2、启动spark-shell
代码语言:javascript复制
●开箱即用

直接启动bin目录下的spark-shell: 
./spark-shell 


●spark-shell说明

1.直接使用./spark-shell 
表示使用local 模式启动,在本机启动一个SparkSubmit进程

2.还可指定参数 --master,如:
spark-shell --master local[N] 表示在本地模拟N个线程来运行当前任务
spark-shell --master local[*] 表示使用当前机器上所有可用的资源

3.不携带参数默认就是
spark-shell --master local[*]

4.后续还可以使用--master指定集群地址,表示把任务提交到集群上运行,如
./spark-shell --master spark://node01:7077 

5.退出spark-shell
使用 :quit
3、初体验-读取本地文件

●准备数据

代码语言:javascript复制
vim /opt/words.txt

hello me you her 
hello you her
hello her 
hello 
代码语言:javascript复制
val textFile = sc.textFile("file:///opt/words.txt")

val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_   _)

counts.collect//收集结果

// Array[(String, Int)] = Array((you,2), (hello,4), (me,1), (her,3))
4、初体验-读取HDFS文件

●准备数据

代码语言:javascript复制
上传文件到hdfs
hadoop fs -put /opt/words.txt /wordcount/input/words.txt
目录如果不存在可以创建
hadoop fs -mkdir -p /wordcount/input
结束后可以删除测试文件夹
hadoop fs -rm -r /wordcount
代码语言:javascript复制
val textFile = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt")

val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_   _)

counts.saveAsTextFile("hdfs://node01:8020/wordcount/output")

(运行完可以进入output目录查看)

就这么简单铁子们,下篇更新standalone集群模式,点个赞再走加个关注啊铁子们,拜拜┏(^0^)┛!!!!!!

0 人点赞