Spark环境搭建和使用方法

这篇具有很好参考价值的文章主要介绍了Spark环境搭建和使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、安装Spark

(一)基础环境

(二)安装Python3版本

(三)下载安装Spark

(四)配置相关文件

二、在pyspark中运行代码

(一)pyspark命令

(二)启动pyspark 

三、开发Spark独立应用程序

(一)编写程序

(二)通过spark-submit运行程序 


一、安装Spark

(一)基础环境

安装Spark之前需要安装Linux系统、Java环境(Java8或JDK1.8以上版本)和Hadoop环境。

可参考本专栏前面的博客:
大数据软件基础(3) —— 在VMware上安装Linux集群-CSDN博客
大数据存储技术(1)—— Hadoop简介及安装配置-CSDN博客

(二)安装Python3版本

1、查看当前环境下的Python版本

[root@bigdata zhc]# python --version

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

 Python 2.7.5 版本已经不能满足当前编程环境需求,所以要安装较高版本的Python3,但Python 2.7.5 版本不能卸载。

2、连网下载Python3

[root@bigdata zhc]# yum install -y python3

 如图所示,Python3安装完成。

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

 安装的版本为Python 3.6.8。

(三)下载安装Spark

1、Spark安装包下载地址:https://spark.apache.org/

进入下载页面后,点击主页的“Download”按钮进入下载页面,下载页面中提供了几个下载选项,主要是Spark release及Package type的选择,如下图所示。

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

我这里下的是Spark 2.4.0版本,没有此版本的,也可以下载Spark 3.2.4或更高版本的。

2、解压安装包spark-2.4.0-bin-without-hadoop.tgz至路径 /usr/local

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

[root@bigdata uploads]# tar -zxvf spark-2.4.0-bin-without-hadoop.tgz -C /usr/local

更改文件目录名:

[root@bigdata local]# mv spark-2.4.0-bin-without-hadoop/ spark 

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

(四)配置相关文件

1、配置Spark的classpath

先切换到 /usr/local/spark/conf 目录下,复制spark-env.sh.template重命名为spark-env.sh。

[root@bigdata local]# cd /usr/local/spark/conf
[root@bigdata conf]# cp spark-env.sh.template spark-env.sh
[root@bigdata conf]# ll
总用量 44
-rw-r--r-- 1 zhc  zhc   996 10月 29 2018 docker.properties.template
-rw-r--r-- 1 zhc  zhc  1105 10月 29 2018 fairscheduler.xml.template
-rw-r--r-- 1 zhc  zhc  2025 10月 29 2018 log4j.properties.template
-rw-r--r-- 1 zhc  zhc  7801 10月 29 2018 metrics.properties.template
-rw-r--r-- 1 zhc  zhc   865 10月 29 2018 slaves.template
-rw-r--r-- 1 zhc  zhc  1292 10月 29 2018 spark-defaults.conf.template
-rwxr-xr-x 1 root root 4221 12月 13 20:23 spark-env.sh
-rwxr-xr-x 1 zhc  zhc  4221 10月 29 2018 spark-env.sh.template
[root@bigdata conf]# vi spark-env.sh

将如下内容加到spark-env.sh文件的第一行。

export SPARK_DIST_CLASSPATH=$(/usr/local/servers/hadoop/bin/hadoop  classpath)

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

实现了Spark和Hadoop的交互。

2、配置 /etc/profile 文件

将如下内容添加到 /etc/profile 文件最后,并使其生效。

[root@bigdata conf]# vi /etc/profile
[root@bigdata conf]# source /etc/profile
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATH

如下图所示。 

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

至此,Spark环境就安装配置好了。

输入实例SparkPi验证Spark环境。为了从大量的输出信息中快速找到我们想要的自行结果,可以使用grep命令进行过滤。命令如下:

[root@bigdata spark]# run-example SparkPi 2>&1 |grep "Pi is"

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式 

二、在pyspark中运行代码

(一)pyspark命令

pyspark命令及其常用的参数如下:

pyspark --master <master-url>

Spark的运行模式取决于传递给SparkContext的Master URL的值。Master URL可以是以下任一种形式:

        (1)local 使用一个Worker线程本地化运行SPARK(完全不并行)
        (2)local[*] 使用逻辑CPU个数数量的线程来本地化运行Spark
        (3)local[K] 使用K个Worker线程本地化运行Spark(理想情况下,K应该根据运行机器的CPU核数设定)
        (4)spark://HOST:PORT 连接到指定的Spark standalone master。默认端口是7077
        (5)yarn-client 以客户端模式连接YARN集群。集群的位置可以在HADOOP_CONF_DIR环境变量中找到
        (6)yarn-cluster 以集群模式连接YARN集群。集群的位置可以在HADOOP_CONF_DIR环境变量中找到
        (7)mesos://HOST:PORT 连接到指定的Mesos集群。默认接口是5050

在Spark中采用本地模式启动pyspark的命令主要包含以下参数:
--master:这个参数表示当前的pyspark要连接到哪个master,如果是local[*],就是使用本地模式启动pyspark,其中,中括号内的星号表示需要使用几个CPU核心(core),也就是启动几个线程模拟Spark集群
--jars: 这个参数用于把相关的JAR包添加到CLASSPATH中;如果有多个jar包,可以使用逗号分隔符连接它们。

比如,要采用本地模式,在4个CPU核心上运行pyspark:

$ cd /usr/local/spark
$ ./bin/pyspark --master local[4]

或者,可以在CLASSPATH中添加code.jar,命令如下:

$ cd /usr/local/spark
$ ./bin/pyspark --master local[4] --jars code.jar 

 可以执行“pyspark --help”命令,获取完整的选项列表,具体如下:

$ cd /usr/local/spark
$ ./bin/pyspark --help

(二)启动pyspark 

执行如下命令启动pyspark(默认是local模式):

[root@bigdata zhc]# cd /usr/local/spark
[root@bigdata spark]# pyspark

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

可以在里面输入scala代码进行调试:

>>> 8*2+5
21

 可以使用命令“exit()”退出pyspark:

>>> exit()

三、开发Spark独立应用程序

(一)编写程序

# /home/zhc/mycode/WordCount.py
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)
logFile = "file:///usr/local/spark/README.md"
logData = sc.textFile(logFile, 2).cache()
numAs = logData.filter(lambda line: 'a' in line).count()
numBs = logData.filter(lambda line: 'b' in line).count()
print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))

对于这段Python代码,可以直接使用如下命令执行:

[root@bigdata zhc]# cd /home/zhc/mycode
[root@bigdata mycode]# vi WordCount.py
[root@bigdata mycode]# ll
总用量 8
-rw-r--r-- 1 root root 430 12月 14 12:54 WordCount.py
-rw-r--r-- 1 root root  56 12月  9 18:55 word.txt
[root@bigdata mycode]# python3 WordCount.py

执行该命令以后,可以得到如下结果:

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

(二)通过spark-submit运行程序 

可以通过spark-submit提交应用程序,该命令的格式如下:

spark-submit  

        --master <master-url>  

        --deploy-mode <deploy-mode>   #部署模式  

        ... #其他参数  

        <application-file>  #Python代码文件  

        [application-arguments]  #传递给主类的主方法的参数

可以执行“spark-submit  --help”命令,获取完整的选项列表,具体如下:

$ cd /usr/local/spark
$ ./bin/spark-submit --help

以通过 spark-submit 提交到 Spark 中运行,命令如下:
注意要在 /home/zhc/mycode/ 路径下执行spark-submit,否则要使用绝对路径。

[root@bigdata mycode]# spark-submit WordCount.py
[root@bigdata zhc]# spark-submit /home/zhc/mycode/WordCount.py    #绝对路径

运行结果如图所示: 

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

此时我们发现有大量的INFO信息,这些信息属于干扰信息,对于我们有用的只有“Lines with a: 62, Lines with b: 30”这一行。为了避免其他多余信息对运行结果的干扰,可以修改log4j的日志信息显示级别,具体方法如下:

[root@bigdata spark]# cd /usr/local/spark/conf
[root@bigdata conf]# ll
总用量 44
-rw-r--r-- 1 zhc  zhc   996 10月 29 2018 docker.properties.template
-rw-r--r-- 1 zhc  zhc  1105 10月 29 2018 fairscheduler.xml.template
-rw-r--r-- 1 zhc  zhc  2025 10月 29 2018 log4j.properties.template
-rw-r--r-- 1 zhc  zhc  7801 10月 29 2018 metrics.properties.template
-rw-r--r-- 1 zhc  zhc   865 10月 29 2018 slaves.template
-rw-r--r-- 1 zhc  zhc  1292 10月 29 2018 spark-defaults.conf.template
-rwxr-xr-x 1 root root 4300 12月 13 20:33 spark-env.sh
-rwxr-xr-x 1 zhc  zhc  4221 10月 29 2018 spark-env.sh.template
[root@bigdata conf]# cp log4j.properties.template log4j.properties
[root@bigdata conf]# vi log4j.properties

打开 log4j.properties 文件后,可以发现包含如下一行信息:

log4j.rootCategory=INFO, console

将其修改为: 

log4j.rootCategory=ERROR, console

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式

再次回到 /home/zhc/mycode/ 路径下执行spark-submit,就会发现没有INFO信息了。

[root@bigdata mycode]# spark-submit WordCount.py

spark卸载python2 安装python3,Spark编程基础,spark,大数据,分布式文章来源地址https://www.toymoban.com/news/detail-765646.html

到了这里,关于Spark环境搭建和使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在IDEA运行spark程序(搭建Spark开发环境)

           建议大家写在Linux上搭建好Hadoop的完全分布式集群环境和Spark集群环境,以下在IDEA中搭建的环境仅仅是在window系统上进行spark程序的开发学习,在window系统上可以不用安装hadoop和spark,spark程序可以通过pom.xml的文件配置,添加spark-core依赖,可以直接在IDEA中编写spark程序

    2024年02月06日
    浏览(36)
  • Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建

    搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联,都是从零开始搭建。 如果将文章中的配置文件修改内容复制粘贴的话,所有配置文件添加的内容后面的注释记得删除,可能会报错。保险一点删除最好。 上传安装包解压并重命名 rz上传 如果没有安装rz可以使用命

    2024年02月06日
    浏览(58)
  • Spark环境搭建

    回顾:Hadoop主要解决,海量数据的存储和海量数据的分析计算。 Spark是一种 基于内存的快速 、通用、可扩展的 大数据分析计算引擎 部署Spark集群大体上分为两种模式: 单机模式与集群模式 大多数分布式框架都支持单机模式,方便开发者调试框架的运行环境。 但是在生产环

    2024年02月03日
    浏览(27)
  • 2.2 搭建Spark开发环境

    一、Spark开发环境准备工作 由于Spark仅仅是一种计算框架,不负责数据的存储和管理,因此,通常都会将Spark和Hadoop进行统一部署,由Hadoop中的HDFS、HBase等组件负责数据的存储管理,Spark负责数据计算。 安装Spark集群前,需要安装Hadoop环境 软件 版本 Linux系统 CentOS7.9版本 Hadoo

    2024年02月09日
    浏览(30)
  • Spark Standalone环境搭建及测试

    🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 篇一:Linux系统下配置java环境 篇二:hadoop伪分布式搭建(超详细) 篇三:hadoop完全分布式集群搭建(超详细)-大数据集群搭建 篇四:Spark Local环境搭建及测试 Apache Spark是目前最流行的大数据处理框架之一,可用于分布式数据

    2024年02月11日
    浏览(25)
  • Hive on Spark环境搭建

    Hive 引擎包括:默认 MR、tez、spark 最底层的引擎就是MR (Mapreduce)无需配置,Hive运行自带 Hive on Spark:Hive 既作为存储元数据又负责 SQL 的解析优化,语法是 HQL 语法,执行引擎变成了 Spark,Spark 负责采用 RDD 执行。 Spark on Hive : Hive 只作为存储元数据,Spark 负责 SQL 解析优化,语

    2024年02月13日
    浏览(35)
  • Spark Local环境搭建及测试

    🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 篇一:Linux系统下配置java环境 篇二:hadoop伪分布式搭建(超详细) 篇三:hadoop完全分布式集群搭建(超详细)-大数据集群搭建 Spark单机版的搭建,常用于本地开发测试 Spark使用Scala语言编写,运行在Java虚拟机(JVM)当中,故在

    2024年02月11日
    浏览(23)
  • Win10 环境下 spark 本地环境的搭建

    链接:https://pan.baidu.com/s/1OYoeMVHOtcu05jR1mL7LeA  提取码:yyds 下载 jdk1.8.0_66_windows-x64_bin.exe(或其他版本) 此电脑(右击)==属性==高级系统设置==环境变量==系统变量==新建 CLASSPATH:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar; JAVA_HOME:C:Program FilesJavajdk1.8.0_66(jdk安装路径)    此电脑(右

    2024年02月04日
    浏览(33)
  • 11.Linux下Spark的安装配置以及spark-shell的启动和 Spark集群环境搭建

    本案例软件包:链接:https://pan.baidu.com/s/1zABhjj2umontXe2CYBW_DQ  提取码:1123(若链接失效在下面评论,我会及时更新). 目录 (1)安装Spark 1.先用xftp将安装包传到home/hadoop/Downloads文件夹下,然后解压安装。 2.解压缩: 3. 更改文件夹名称: 4.修改hadoop用户对文件夹spark的访问权限

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包