Mac上pycharm集成pyspark

Posted Tensor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac上pycharm集成pyspark相关的知识,希望对你有一定的参考价值。

前提

  1.已经安装好spark。我的是spark2.2.0。

  2.已经有python环境,我这边使用的是python3.6。

 

一、安装py4j

使用pip,运行如下命令:

  

pip install py4j

使用conda,运行如下命令:

conda install py4j

二、使用pycharm创建一个project。

创建过程中选择python的环境。进入之后点击Run--》Edit Configurations--》Environment variables.

添加PYTHONPATH和SPARK_HOME,其中PYTHONPATH为spark安装路径中的python目录,SPARK_HOME为spark安装目录。

然后点ok,到第一个页面点Apply,ok。

三、点Preferences --》Project Structure--》Add Content Root

添加spark安装路径中python目录下的lib里面的py4j-0.10.4-src.zip和pyspark.zip。然后Apply,ok。

四、编写pyspark wordcount测试一下。我这边使用的是pyspark streaming程序。

代码如下:

WordCount.py

from pyspark import SparkContext
from pyspark.streaming import StreamingContext

# Create a local StreamingContext with two working thread and batch interval of 1 second

sc = SparkContext("local[2]", "NetWordCount")

ssc = StreamingContext(sc, 1)

# Create a DStream that will connect to hostname:port, like localhost:9999

lines = ssc.socketTextStream("localhost", 9999)

# Split each line into words

words = lines.flatMap(lambda line: line.split(" "))

# Count each word in each batch
pairs = words.map(lambda word: (word, 1))
wordCounts = pairs.reduceByKey(lambda x, y: x + y)

# Print the first ten elements of each RDD generated in this DStream to the console
wordCounts.pprint()

ssc.start()             # Start the computation
ssc.awaitTermination()  # Wait for the computation to terminate

先到终端运行如下命令:

$ nc -lk 9999

接着可以在pycharm中右键运行一下。然后在上面这个命令行中输入单词以空格分割:

我输入如下:

a b a d d d d

然后摁回车。可以看到pycharm中输出如下结果:

 

Time: 2017-12-17 22:06:19
-------------------------------------------
(b, 1)
(d, 4)
(a, 2)

至此,完成。

以上是关于Mac上pycharm集成pyspark的主要内容,如果未能解决你的问题,请参考以下文章

mac上pycharm导入模块django以及切换python版本

在pycharm上配置pyspark

从PyCharm连接到运行Spark-Session

Python基础教程(020)--集成开发环境IDE简介--Pycharm

博学谷学习记录超强总结,用心分享|狂野大数据课程基于Pycharm完成PySpark入门案例(上)的总结分析

机器学习 - 开发环境安装pycharm + tensorflow集成篇