window7下在pycharm上配置pyspark 搭建spark测试环境
因为在虚拟机linux上已经部署好了spark,但是每次编写好spark的python脚本程序都得在虚拟机上测试,很麻烦,所以就在本地的win7系统下,结合pycharm开发工具,搭建可本地测试运行环境。本地运行spark的python脚本程序,当然需要spark的相关环境,所以前提也要在本地win7下搭建好spark环境【步骤思路如下】1. 搭建本地测试的spark环境...
因为在虚拟机linux上已经部署好了spark,但是每次编写好spark的python脚本程序都得在虚拟机上测试,很麻烦,所以就在本地的win7系统下,结合pycharm开发工具,搭建可本地测试运行环境。
本地运行spark的python脚本程序,当然需要spark的相关环境,所以前提也要在本地win7下搭建好spark环境
【步骤思路如下】
1. 搭建本地测试的spark环境
2. 在pycharm 开发工具中配置spark环境指向,这样脚本运行时,就能成功调用spark的相关资源包。
3. 编写好程序,运行
【1搭建本地测试的spark环境】
为了避免版本不一致导致的问题,所以本地win下安装的spark版本和虚拟机上的spark版本一致。
spark 依赖scala scala 依赖jdk ,所以 jdk 和scala也都得配置安装。
虚拟机上的
jdk1.7
scala 2.11.8
spark-2.0.1
在本地window上安装版本最好也一致,如下图。
下载对应的window系统版本(jdk1.7的linux和window是不一样的, scala和spark在inux和window是一样的,因为jdk是为了实现系统平台无关性,所以跟系统有关,scala,spark是运行在jdk之上,已经是平台无关了)。配置jdk、scala、spark的相关环境变量。
【2安装python环境】
不同的spark支持python版本有所不同,可以通过 spark目录/bin/pyspark.sh文件查看版本要求 。
if hash python2.7 2>/dev/null; then
# Attempt to use Python 2.7, if installed:
DEFAULT_PYTHON="python2.7"
else
DEFAULT_PYTHON="python"
fi
最新版本3.6 好像也不怎么良好,python3.6环境中会报如下错误
TypeError: namedtuple() missing 3 required keyword-only arguments: 'verbose', 'rename', and 'module'。
所以安装2.7或则以上的,我选择的python 3.5版本
配置好python3.5 环境变量后,查看能否正常运行。
【3安装配置pycharm】
下载安装好pychram(破解方法自行百度,学生的话,如果有学校邮箱的话,可以免费注册)
新建testspark的python项目,编写test.py脚本如下
import os
import sys
import re
try:
from pyspark import SparkContext
from pyspark import SparkConf
print("Successfully imported Spark Modules")
except ImportError as e:
print("Can not import Spark Modules", e)
选中tesy.py 右键选中执行【run ‘test.py’】 操作,会输出
Can not import Spark Modules No module named 'pyspark'
这就是代码中try操作未成功。加载spark的库文件失败
from pyspark import SparkContext
from pyspark import SparkConf
需要配置运行尝试——spark库文件位置,配置如下:Run菜单栏——>Edit Configurations——>选中脚本文件tesy.py->Environment variables ——>添加spark环境变量——>apply 然后保存再次运行
//本地spark目录下的python位置及py4j的位置
PYTHONPATH=C:\Java\spark-2.0.1-bin-hadoop2.7\python;C:\Java\spark-2.0.1-bin-hadoop2.7\python\lib\py4j-0.10.3-src.zip
//spark 目录位置
SPARK_HOME=C:\Java\spark-2.0.1-bin-hadoop2.7
再次执行test.py
成功加载。就可以在本地测试spark代码了。
注意:因为配置的环境作用对象是当前py脚本,所以新建了py文件后,需要再次增加PYTHONPATH和SPARK_HOME环境变量。
更多推荐
所有评论(0)