开发 PySpark 的准备环境

时间煮雨
@R星校长

开发 PySpark 所需准备环境

 1) 安装 python 环境
  下载安装Anaconda。 详细见文档 “Anaconda安装及使用.docx”。
 2) 安装 PyCharm
  下载安装 PyCharm。
 3) 官网下载 Spark 安装包

  由于 PyCharm 开发 spark 需要本地 Spark 环境,所以要在官网中下载 Spark 安装包到本地(这里我们下载 Spark1.6 版本)。

  A. 进入 Spark 官网,找到对应的 Spark 版本下载。在这里插入图片描述
  B. 将下载好的安装包解压到本地某个路径(路径中不要有空格和中文)
  C. 将解压的路径中的…spark….\python\lib下的以下两个压缩包解压在这里插入图片描述
解压后:在这里插入图片描述
注意:

★py4j 是一个用 Python 和 Java 编写的库。通过 Py4J,Python 程序能够动态访问 Java 虚拟机中的 Java 对象,Java 程序也能够回调 Python 对象。

★pyspark 是 Spark 为 Python 开发者提供的 API。

PyCharm 开发 Spark 应用程序

使用 PyCharm 开发 Spark 应用环境需要配置 Python 环境,我们使用的 Spark1.6 版本,Spark2.1 以下版本不支持 python3.6 版本,所以我们使用兼容性比较好的 Python3.5 版本,需要在 PyCharm 中配置。具体如下:

 1) 打开 PyCharm 创建新的项目在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
 点击Create创建。

 2) 配置项目的结构

 选中项目 , 点击 File->Settings…-> 点击 Project:xxx:->Project Structure在这里插入图片描述
 配置完成后,项目根目录下多了一个 lib 目录:在这里插入图片描述
 3) 创建一个 Spark 应用程序脚本(WordCount 为例)
  创建一个 package:在这里插入图片描述
 右键创建一个目录,目录中创建一个文件,内容如下:在这里插入图片描述
 创建python脚本,内容如下:

from pyspark import SparkConf
from pyspark import SparkContext

if __name__ == '__main__':
    conf = SparkConf().setMaster("local").setAppName("wordcount")
    sc = SparkContext(conf=conf)
    lines = sc.textFile("../data/words")
    words = lines.flatMap(lambda line:line.split(","))
    pair_words = words.map(lambda word:(word,1))
    result = pair_words.reduceByKey(lambda a,b:a+b)
    print(result.collect())

 运行,报错如下,需要配置 SPAKR_HOME:在这里插入图片描述
 4) 配置 SPARK_HOME
 写好 pyspark 脚本后,在运行 python 脚本之前,要配置下 SPARK_HOME在这里插入图片描述在这里插入图片描述
 找到本地解压的 spark 安装包路径,配置 SPARK_HOME,完成即可。
 也可以在 Defaults 中配置好 SPARK_HOME , 每次创建 pyspark 脚本运行时,就不用手动来设置。在这里插入图片描述
 注意:这里的 SPARK_HOME 也可以在本地系统中的环境变量中配置好,在 pycharm 中运行 pyspark 脚本时就不会找不到 SPARK_HOME , 两种方式都是可以的。 在系统中配置好环境变量要重启 pycharm 在这里插入图片描述
 5) 运行脚本。
  注意:运行脚本时有可能出错:在这里插入图片描述
  指定pyspark使用的python版本即可(与项目的Project Interpreter使用的python版本路径一致):
  在代码中可以加入:

import os
os.environ["PYSPARK_PYTHON"] = "C:\\Users\\wubai\\Anaconda3\\envs\\pyspark\\python.exe"

也可以在Edit Configurations…中加入环境变量:在这里插入图片描述
也可以在系统中配置环境变量(要重启Pycharm):在这里插入图片描述
以上三种方式任选其一即可。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页