美文网首页Python
记-Spark-Mac下用Pycharm搭建Spark开发环境

记-Spark-Mac下用Pycharm搭建Spark开发环境

作者: Andrew0000 | 来源:发表于2019-05-07 19:43 被阅读0次

安装Pycharm

Pycharm安装直接到Pycharm官网下载,点击下一步安装即可。

安装Spark

Spark安装同样到Spark官网,选择需要的版本和类型后点击下载解压。

将解压包重命名为spark,移动到以下目录:

mv spark /usr/local

接着配置环境变量,编辑 vim ~./bash_profile后面追加 :

# spark
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin

保存退出后source一下: source ~.bash_profile

最后检查一下是否安装成功:pyspark启动交互式界面代表成功。

Pycharm配置Spark开发

  1. 通过Python开发Spark,需要Python借助第三方库py4j和Spark底层Scala交互,而Scala又是基于Java的。所以py4j就是Python和Java交互的一个库。

    可以在 preferences->Project:yourProject->Project Interpreter中点击+号搜索py4j后下载安装。

  2. 同时Python需要pyspark第三方库,让Python和Spark交互。安装方法同上;或者可以在下载的Spark安装包内把Pyspark包导入到Python的第三方库目录。参考如下:

    mv /usr/local/spark/python/pyspark /Users/yourusername/PycharmProjects/PySpark/venv/lib/python3.7/site-packages

    其实第三方Python库都会安装在site-packages目录下。

Pyspark示例

这里演示 官网SparkStreaming快速入手,所有实例代码均可以在 /usr/local/spark/examples/src/main/python中找到,复制到Pycharm中即可。

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]", "NetworkWordCount")
ssc = StreamingContext(sc, 5)
# 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的python文件前,需要先配置。

Run -> Edit Configurations的Configuration下Environment中Environmen variable添加SPARK_HOME的目录。

当然source重启后发现Pycharm的Configuration能自动读取SPARK目录,这样就不需要添加也能运行。

现在点击运行并且在终端nc下输入:aaa aaa hhh

运行结果是:

Time: 2019-05-07 19:28:50
-------------------------------------------
('aaa', 2)
('hhh', 1)

小结

Pycharm配置Python的Spark开发,作为快速入门Spark十分便捷,但若要深入理解Spark,最好还是IDEA下配置Spark开发环境。由于Spark是Scala开发的,所以在IDEA上通过Scala和Spark的部署开发更加接近源码。

正如以上所说,Pycharm借助Python的py4j和pyspark第三方库,只需要安装Spark加上一定配置联系就能快速搭建Python的Spark开发环境,十分便捷!同时Python作为胶水语言,凭借强大的第三方库而闻名。

最后说明,在Pycharm这类IDE下运行,其实等价于 spark-submit yourDeom.py。

相关文章

网友评论

    本文标题:记-Spark-Mac下用Pycharm搭建Spark开发环境

    本文链接:https://www.haomeiwen.com/subject/dyoyoqtx.html