火花编程环境
Spark可以独立安装或与Hadoop一起使用. 在安装Spark之前linux的python编程环境,首先请确保您的计算机上已安装Java 8或更高版本.
火花安装
访问Spark下载页面,然后选择最新版本的Spark直接下载. 当前最新版本是2.4.2. 下载后,需要将其解压缩到安装文件夹中. 根据您的喜好,我们将其安装在/ opt目录下.
tar -xzf spark-2.4.2-bin-hadoop2.7.tgz
mv spark-2.4.2-bin-hadoop2.7/opt/spark-2.4.2
为了直接在终端中打开Spark的shell环境,您需要配置相应的环境变量. 这里我使用zsh,因此我需要将环境配置为〜/ .zshrc.
如果未安装zsh,则可以将其配置为〜/ .bashrc
# 编辑 zshrc 文件
sudo gedit ~/.zshrc
# 增加以下内容:export SPARK_HOME=/opt/spark-2.4.2export PATH=$SPARK_HOME/bin:$PATH
export PythonPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
配置完成后,在shell中输入spark-shell或pyspark进入Spark交互式编程环境. 前者是进入Scala交互环境,后者是进入Python交互环境.
配置Python编程环境
这里有两个编程环境,Jupyter和Visual Studio Code. 前者促进交互式编程,而后者促进最终的集成开发.
Jupyter的PySpark
首先介绍如何在Jupyter中使用Spark,请注意,此处Jupyter笔记本和Jupyter实验室是常用方法,此处以Jupyter实验室中的配置为例:
在Jupyter实验室中有两种使用PySpark的方法:
pyspark将自动打开Jupyter实验室;
findSpark软件包以加载PySpark.
第一个选项速度更快,但特定于Jupyter笔记本电脑,第二个选项是一种更广泛的方法,使PySpark可在任何您喜欢的IDE中使用. 强烈建议使用第二种方法.
方法1: 配置PySpark启动器
更新PySpark启动器的环境变量,并继续将以下内容添加到〜/ .zshrc文件中:
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='lab'
如果要使用jupyter笔记本,请将第二个参数的值更改为Notebook
刷新环境变量或重新启动计算机linux的python编程环境,然后执行pyspark命令,该命令将在启动Spark的情况下直接打开Jupyter实验室.
pyspark
方法2: 使用findSpark包
在Jupyter实验室中还有另一种更通用的使用PySpark的方法: 使用findspark包在代码中提供Spark上下文.
findspark软件包不是Jupyter实验室专用的,您也可以在其他IDE中使用此方法,因此该方法更通用,建议使用.
首先安装findspark:
pip install findspark
然后,打开Jupyter实验室. 在编程Spark时,我们需要首先导入findspark包. 示例如下:
# 导入 findspark 并初始化import findspark
findspark.init()from pyspark importSparkConf,SparkContextimport random
# 配置 Spark
conf =SparkConf().setMaster("local[*]").setAppName("Pi")# 利用上下文启动 Spark
sc =SparkContext(conf=conf)
num_samples =100000000definside(p):
x, y = random.random(), random.random()return x*x + y*y <1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi =4* count / num_samples
print(pi)
sc.stop()
运行示例:
VScode中的PySpark
Visual Studio Code作为出色的编辑器,对于Python开发非常方便. 以下是一些推荐的个人插件:
Python: 必须安装的插件,提供Python语言支持;
代码运行器: 支持在文件中运行某些片段;
此外,在VScode上使用Spark不需要使用findspark软件包,您可以直接编程:
from pyspark importSparkContext,SparkConf
conf =SparkConf().setMaster("local[*]").setAppName("test")
sc =SparkContext(conf=conf)
logFile ="file:///opt/spark-2.4.2/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: {0}, Lines with b:{1
摘要
以上是我介绍给您的一种用于在Linux下为Spark建立Python编程环境的方法. 希望对大家有帮助. 如有任何疑问,请留言,我会及时回复您!
本文标题: 如何在Linux下构建Spark Python编程环境
本文地址:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-244469-1.html