Pycharm开发spark程序

Pycharm开发spark程序

使用pycharm连接spark开发python程序。

1.Pycharm本地开发spark程序

1.安装Java

安装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 查看安装情况。

2.安装scala

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,测试安装是否完成。

2.安装Hadoop

其实不需要的。
下载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;  (注意分号结尾)

4.安装spark

下载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,测试安装是否正常。

5.安装python和pycharm

安装anaconda的python发行版,一般做分析都是用这个版本。
安装目录是 C:\Anaconda3
安装pycharm社区版。

6.配置pyspark的地址

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包对待而已,没有做其他的配置。

7.测试

在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!")

运行,查看是否有问题。

2.Pycharm远程开发spark程序

参考pycharm远程开发,我猜只是将python配置位远程python就可以了。

3.参考

http://www.tuicool.com/articles/iAbInuj
http://blog.csdn.net/cdhnlsj/article/details/51018334
http://blog.csdn.net/ydq1206/article/details/51922148

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