Spark 的 python 编程环境

Spark编程环境

Spark 可以独立安装使用,也可以和 Hadoop 一起安装使用。在安装 Spark 之前,首先确保你的电脑上已经安装了 Java 8 或者更高的版本。

Spark 安装

访问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.2
export 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 编程环境

在这里介绍两种编程环境,JupyterVisual Studio Code。前者方便进行交互式编程,后者方便最终的集成式开发。

PySpark in Jupyter

首先介绍如何在 Jupyter 中使用 Spark,注意这里 Jupyter notebook 和 Jupyter lab 是通用的方式,此处以 Jupyter lab 中的配置为例:

在 Jupyter lab 中使用 PySpark 存在两种方法:

  • 配置 PySpark 的启动器为 Jupyter lab,运行 pyspark 将自动打开一个 Jupyter lab;
  • 打开一个正常的 Jupyter lab,并使用 findSpark 包来加载 PySpark。

第一个选项更快,但特定于Jupyter笔记本,第二个选项是一个更广泛的方法,使PySpark在你任意喜欢的IDE中都可用,强烈推荐第二种方法。

方法一:配置 PySpark 启动器

更新 PySpark 启动器的环境变量,继续在 ~/.zshrc 文件中增加以下内容:

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='lab'

如果要使用 jupyter notebook,则将第二个参数的值改为 notebook

刷新环境变量或者重启机器,并执行 pyspark 命令,将直接打开一个启动了 Spark 的 Jupyter lab。

pyspark

方法二:使用 findSpark 包

在 Jupyter lab 中使用 PySpark 还有另一种更通用的方法:使用 findspark 包在代码中提供 Spark 上下文环境。

findspark 包不是特定于 Jupyter lab 的,您也可以其它的 IDE 中使用该方法,因此这种方法更通用,也更推荐该方法。

首先安装 findspark:

pip install findspark

之后打开一个 Jupyter lab,我们在进行 Spark 编程时,需要先导入 findspark 包,示例如下:

# 导入 findspark 并初始化
import findspark
findspark.init()

from pyspark import SparkConf, SparkContext
import random
# 配置 Spark
conf = SparkConf().setMaster("local[*]").setAppName("Pi")
# 利用上下文启动 Spark
sc = SparkContext(conf=conf)
num_samples = 100000000
def inside(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()

运行示例


PySpark in VScode

Visual Studio Code 作为一个优秀的编辑器,对于 Python 开发十分便利。这里首先推荐个人常用的一些插件:

  • Python:必装的插件,提供了Python语言支持;
  • Code Runner:支持运行文件中的某些片段;

此外,在 VScode 上使用 Spark 就不需要使用 findspark 包了,可以直接进行编程:

from pyspark import SparkContext, 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}".format(numAs, numBs))

原文地址:https://www.cnblogs.com/ydcode/p/11002669.html

时间: 2024-10-12 13:17:34

Spark 的 python 编程环境的相关文章

Emacs 配置 Python 编程环境

python编程环境设置涉及到:自动完成.语法检查.虚拟环境. 为了不把系统搞乱,在python的虚拟环境中安装相关的插件. 一.安装python虚拟环境 virtualenvwrapper sudo apt-get virtualenvwrapper 然后创建一个虚拟环境: $ mkvirtualenv -p /usr/bin/python3 test 下面开始在test这个虚拟环境中操作:先看看有哪些包: $ pip list pip (1.5.6) setuptools (5.5.1) 可

[零基础学pythyon]安装python编程环境

任何高级语言都是需要一个自己的编程环境的,这就好比写字一样,需要有纸和笔,在计算机上写东西,也需要有文字处理软件,比如各种名称的OFFICE.笔和纸以及office软件,就是写东西的硬件或软件,总之,那些文字只能写在那个上边,才能最后成为一篇文章.那么编程也是,要有个什么程序之类的东西,要把程序写到那个上面,才能形成最后类似文章那样的东西. 刚才又有了一个术语--"程序",什么是程序?本文就不讲了.如果列为观众不是很理解这个词语,请上网google一下. 注:推荐一种非常重要的学习方法

视障者如何搭建自己的python编程环境

大部分视障者程序员的编码工作都是在windows下进行的,今天我们就来说说如何在windows下搭建一个视障者可以用的python编程环境.为啥要自己搭建呢?因为自带的python编辑器IDLE (Python GUI)读屏根本就读不了啊,我用阳光读屏,nvda读屏,争渡读屏都试过了.后来就自己搞了一个,觉得使用还是比较方便的把经验分享给各位需要的朋友.    我们用的编辑器是EditPlus,python的版本是2.7.8.首先下载安EditPlus和python.具体这些咱们就不在废话了.我

使用anaconda和conemu打造Python编程环境

首先,在写下我的第一篇51CTO学院博客之前,我想说一些我的心里话,以便回首来时路的时候,我能够正确地审视自己的心路历程.我今年大三了,现在是寒假之时.不知道何时,我的心里产生了一股危机感,身边的同学都已经选择了走上考研路,不管是学习好的还是学习不好的,这让我压力很大.我的爸爸肯定是天天在我耳边念叨我考研考研,他老人家肯定是盼着我有更高的学历的.我还是迟疑了.我的内心不想这样的,真的,我不想这样的.我想真正地学会Python全栈的技术,而不是每天沉浸在书本中复习考研.我想真正地能为单位带来一些技

vim配置python编程环境及YouCompleteMe的安装教程

python号称人工智能语言,现在可算大热,这篇博客将介绍如何用vim打造一款自己专属的python编程环境. step1 由于安装YouCompleteMe需要vim8.0及以上版本,所以得安装使用vim的8.0及以上版本,使用vim --version查看自己的vim版本,如果没达到要求可以参考我的另一篇博客vim8.0安装教程进行安装.接着使用git安装vim的包管理工具Vundle git clone https://github.com/gmarik/Vundle.vim.git ~/

Emacs之Python编程环境配置 - elpy

由于之前一直使用Emacs+Jedi来进行Python的编程环境,最近又尝试了Emacs+Elpy的方式.接下来直接开始吧,少些废话.首先系统当中要安装pip等工具,方便安装python的一些工具包(在CentOS6.5 64位系统上进行的操作), wget https://bootstrap.pypa.io/ez_setup.py -O - | python easy_install pip yum install -y python-devel openssl-devel libffi-de

cmd如何进入和退出Python编程环境?

cmd里面进入python编译环境的方式: 安装Python之后需直接运行: python 即可进入Python开发环境 退出Python编译环境主要有三种方式: 1:输入exit(),回车 2:输入quit(),回车 3:输入ctrl+z,回车 三种方式的结果如下所示: 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/12051610.html

Windows配置Python编程环境

1.安装Python https://www.python.org/ 2.修改环境变量 将安装python的路径加到path路径 3.配置notepad++ a. notepad++/运行/“运行”按钮 b. 在弹出的窗口内输入以下命令: cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT 然后,点击保存. **命令解释 cmd /k python:表示打开cmd窗口,运行/k后边的命令,并且执

快速上手Ubuntu搭建Python编程环境

#Ubuntu 14.04 LTS已经预装Python2/3,可以满足基本的编程需求. #让系统支持aptitude命令 sudo apt-get install aptitude -y #将系统升级到最新.sudo aptitude -y upgrade #若需导入turtle来完成一些程序,则需要补充安装python-tk库: #为Python3中使用turtle预先打好基础 sudo aptitude install python-tk #为Python3中使用turtle预先打好基础 s