如何在Windows环境下使用PyCharm开发PySpark

1.安装Python环境
Windows搭建python环境请参考
2.安装Spark环境
官网下载spark并解压
3.配置Windows环境

HADOOP_HOME:D:\bigdata\hadoop-2.8.4
SPARK_HOME:D:\bigdata\spark-2.3.1-bin-hadoop2.7
PATH:%SPARK_HOME%\bin;%HADOOP_HOME%\bin;

4.配置PySpark环境

  • 将spark目录 D:\bigdata\spark-2.3.1-bin-hadoop2.7\jars 下的 py4j-0.10.6.jar 解压
  • 将解压后的 py4j文件 放到 python 目录 D:\Python36\Lib\site-packages 下

5.下载安装PyCharm(如何破解)
现在就可以使用PyCharm进行开发了,但是在pycharm中,pyspark , SparkConf 和 SparkContext 会有红色波浪线,而且也没有spark的代码智能提示、补全等,极不方便,如下方法可以解决:

点击File->Settings,在左侧导航栏找到自己的项目,点击 Project Structure ,在面板右侧,点击 Add Content Root ,将spark目录 D:\bigdata\spark-2.3.1-bin-hadoop2.7\python\lib 下的 pyspark.zip 的文件添加进项目中,即可解决红色波浪线及智能提示补全问题

写一个简单的WordCount:

from pyspark import SparkConf, SparkContext

conf = SparkConf().setMaster('local[4]').setAppName('test')
sc = SparkContext(conf=conf)
sc.setLogLevel("ERROR")
data = sc.textFile("D:\PySpark\data\words")
lines = data.flatMap(lambda line: line.split(','))
words = lines.map(lambda word: (word, 1))
words.reduceByKey(lambda x, y: x + y).foreach(print)
sc.stop()

忽然报错了:

ModuleNotFoundError: No module named 'py4j'

解决方法:

点击PyCharm左下角的Terminal,然后 pip install py4j

再次运行结果:

('a', 3)
('b', 1)
('c', 2)
('d', 2)

6.如何在集群中提交编写好的代码

spark-submit --master yarn --deploy-mode cluster --queue q1 --num-executors 1 wordcount.py

只需要把该py文件上传服务器再执行上面提交命令即可,相比起java或scala需要把代码打成jar包来说python更加简单

你可能感兴趣的:(python,Spark)