国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux下搭建Spark 的 Python 編程環境的方法

2020-10-28 18:41:21
字體:
來源:轉載
供稿:網友

Spark編程環境

Spark 可以獨立安裝使用,也可以和Hadoop 一起安裝使用。在安裝 Spark 之前,首先確保你的電腦上已經安裝了 Java 8 或者更高的版本。

Spark 安裝

訪問 Spark 下載頁面 ,并選擇最新版本的 Spark 直接下載,當前的最新版本是 2.4.2 。下載好之后需要解壓縮到安裝文件夾中,看自己的喜好,我們是安裝到了 /opt 目錄下。

tar -xzf spark-2.4.2-bin-hadoop2.7.tgzmv 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:$PATHexport <a  target="_blank" title="Python">Python</a>PATH=$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。前者方便進行交互式編程,后者方便最終的集成式開發。

PySpark in Jupyter

首先介紹如何在 Jupyter 中使用 Spark,注意這里 Jupyter notebook 和 Jupyter lab 是通用的方式,此處以 Jupyter lab 中的配置為例:

在 Jupyter lab 中使用 PySpark 存在兩種方法:

pyspark 將自動打開一個 Jupyter lab;
findSpark 包來加載 PySpark。

第一個選項更快,但特定于Jupyter筆記本,第二個選項是一個更廣泛的方法,使PySpark在你任意喜歡的IDE中都可用,強烈推薦第二種方法。

方法一:配置 PySpark 啟動器

更新 PySpark 啟動器的環境變量,繼續在 ~/.zshrc 文件中增加以下內容:

export PYSPARK_DRIVER_PYTHON=jupyterexport 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 findsparkfindspark.init()from pyspark importSparkConf,SparkContextimport random# 配置 Sparkconf =SparkConf().setMaster("local[*]").setAppName("Pi")# 利用上下文啟動 Sparksc =SparkContext(conf=conf)num_samples =100000000definside(p):     x, y = random.random(), random.random()return x*x + y*y <1count = sc.parallelize(range(0, num_samples)).filter(inside).count()pi =4* count / num_samplesprint(pi)sc.stop()

運行示例:

 

PySpark in VScode

Visual Studio Code 作為一個優秀的編輯器,對于 Python 開發十分便利。這里首先推薦個人常用的一些插件:

Python:必裝的插件,提供了Python語言支持;

Code Runner:支持運行文件中的某些片段;

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

from pyspark importSparkContext,SparkConfconf =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 編程環境的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石屏县| 沂源县| 安顺市| 乐亭县| 南通市| 大庆市| 息烽县| 宾阳县| 赤峰市| 昌吉市| 稷山县| 张家港市| 墨竹工卡县| 海盐县| 临潭县| 灵武市| 龙南县| 柳江县| 赞皇县| 彭阳县| 乌鲁木齐县| 池州市| 平乡县| 工布江达县| 蓬莱市| 扶沟县| 平定县| 柳江县| 马尔康县| 南涧| 克山县| 昭通市| 华坪县| 浏阳市| 汶川县| 会昌县| 东平县| 汉中市| 普陀区| 商河县| 德阳市|