Pycharm开发spark程序
使用pycharm连接spark开发python程序。
安装Java8 64bit,安装目录是 C:\Java
,注意,安装目录不要有空格,也不要有中文这些,不然会出现不可预知的错误。
配置环境变量
JAVA_HOME : C:\Java\jdk8
CLASSPATH : .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意开始是有一点的,分号结尾)
PATH : ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (记得分号结尾)
在cmd中输入 javac 或java –version 查看安装情况。
spark是是用scala开发的,安装scala环境,对spark的支持会好些。
scala的版本是有要求的,spark2之后是用的scala2.11,scala2.10和2.10的版本差别还是蛮大的,spark官网也说到版本对应的问题。
安装scala也很简单,安装完成后需要配置环境变量。
SCALA_HOME : C:\scala
CLASSPATH : .;%SCALA_HOME%\bin;%SCALA_HOME%\lib\dt.jar;%SCALA_HOME%\lib\tools.jar;
PATH : %SCALA_HOME%\bin;%SCALA_HOME%\jre\bin;
在cmd中输入scala,测试安装是否完成。
其实不需要的。
下载hadoop-2.7.3.tar,解压至 D:\hadoop_spark\hadoop-2.7.3
,下载winutils.exe 并放置在Hadoop的bin目录下。这是因为Hadoop要再windows上跑还需要这个编译程序,在linux下在不需要这么麻烦。
配置Hadoop环境变量
HADOOP_HOME : D:\hadoop_spark\hadoop-2.7.3
PATH : %HADOOP_HOME%\bin; (注意分号结尾)
下载spark-2.0.2-bin-hadoop2.7.tgz,解压至 D:\hadoop_spark\spark-2.0.2-bin-hadoop2.7
,配置环境变量
SPARK_HOME :D:\hadoop_spark\spark-2.0.2-bin-hadoop2.7
PATH : %SPARK_HOME%\bin; (注意分号结尾)
在cmd中输入pyspark,测试安装是否正常。
安装anaconda的python发行版,一般做分析都是用这个版本。
安装目录是 C:\Anaconda3
安装pycharm社区版。
在C:\Anaconda3\Lib\site-packages
目录下新建pyspark.pth,内容是D:\hadoop_spark\spark-2.0.2-bin-hadoop2.7\python
即spark目录下的的python目录,也就是spark的python API.
注意到没,其实就是将pyspark当做一个普通的python包对待而已,没有做其他的配置。
在pycharm中新建spark_test项目,再新建一个test.py文件,内容是:
from pyspark import SparkContext
sc = SparkContext("local","Simple App")
doc = sc.parallelize([['a','b','c'],['b','d','d']])
words = doc.flatMap(lambda d:d).distinct().collect()
word_dict = {w:i for w,i in zip(words,range(len(words)))}
word_dict_b = sc.broadcast(word_dict)
def wordCountPerDoc(d):
dict={}
wd = word_dict_b.value
for w in d:
if dict.get(wd[w],0):
dict[wd[w]] +=1
else:
dict[wd[w]] = 1
return dict
print(doc.map(wordCountPerDoc).collect())
print("successful!")
运行,查看是否有问题。
参考pycharm远程开发,我猜只是将python配置位远程python就可以了。
http://www.tuicool.com/articles/iAbInuj
http://blog.csdn.net/cdhnlsj/article/details/51018334
http://blog.csdn.net/ydq1206/article/details/51922148