前提:

  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 

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

我输入如下:

a b a d d d d

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

Time: -- ::
-------------------------------------------
('b', )
('d', )
('a', )

至此,完成。

Mac上pycharm集成pyspark的更多相关文章

  1. Mac上PyCharm运行多进程报错的解决方案

    Mac上PyCharm运行多进程报错的解决方案 运行时报错 may have been in progress in another thread when fork() was called. We ...

  2. mac上Pycharm个性化快捷键,类似Myeclipse的快速复制等快捷键

    好几天没写博客了,在win10下写了几天python,然后下了pycharm使用,发现还可以,但是太笨重了,切回了mac,然后装了pycharm社区版本. 但是这个使用太别扭了,没有myeclipse ...

  3. Python之Mac上搭建集成开发环境

    首先下载一个东西: 找到下载地址:https://download.jetbrains.8686c.com/python/pycharm-professional-2016.2.1.dmg pycha ...

  4. Mac上使用jenkins+git持续集成浅析

    本文旨在让同学们明白如何让jenkis在mac笔记本上运行,并实际与一个最简单的git地址交互并执行简单的jenkins任务,如果学习本文,需要先按照https://www.cnblogs.com/x ...

  5. 10款Mac上程序员装机必备的开发工具推荐和下载

    10款Mac上程序员装机必备的开发工具推荐和下载 使用Mac的用户主要有两大类:设计师和程序员,为各位程序员童鞋推荐10个Mac上非常棒的开发工具和辅助工具,分享软件专题[10款Mac上程序员装机必备 ...

  6. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  7. Mac上的欧路词典单词本迁移到有道词典 #node.js

    摘要 有道词典提供了柯林斯和朗文辞典,加上最近在背单词且Mac版的屏幕取词也够用了,为了云单词本的同步,决定抛弃Mac上的欧路词典.单词欧路上的单词本也存了一百多个单词.怎样迁移到有道呢? 关键词:n ...

  8. iOS工程师Mac上的必备软件

    原文链接     前言   iOS工程师一直都是那么的高逼格,用的是Mac电脑,耍的是iPhone手机,哇咔咔~~  但是,作为一名iOS开发工程师,我们除了高逼格外,还必须是全能的.你不会点UI设计 ...

  9. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

随机推荐

  1. 腾讯QQ 8.9.3体验版发布 在线文档多端同步实时保存

    感谢N软网的投递 腾讯体验中心迎来QQ8.9.3首个维护体验版发布,详细版本号为v8.9.3.21006,上一个体验版v8.9.2.20717发布于4月20日,时隔34天又迎来了更新.本次升级主要是在 ...

  2. CentOS 7 配置163源

    具体的操作步骤: 1.打开终端,输入su指令切换到root用户:su 2.切换到系统yum源的目录下,即:cd /etc/yum.repos.d 3.备份系统默认yum源(也可直接删除):mv Cen ...

  3. HtmlAgilityPack开发

    官方网站: http://html-agility-pack.net/ Nuget安装: Install-Package HtmlAgilityPack C# HTML Parser Examples ...

  4. UWP入门(三) -- StackPanel与Grid的区别

    原文:UWP入门(三) -- StackPanel与Grid的区别 ##1.Grid 下布局 <Grid Background="{ThemeResource ApplicationP ...

  5. extjs grid 复选框选择事件

    开发中需求是统计选择的行数,所以要监控checkbox的选择事件包括表头的全选事件 遇到的问题就不赘述了 方案是监控grid的复选框和行加载时绑定事件 baseView: DBEN.controls. ...

  6. Windows 7 频繁提示:计算机的内存不足

    最近由于同时打开的程序比较多,Windows 7 频繁提示:计算机的内存不足,如下图: 问题原因: 经过一番尝试,得出一个大概的结论:当虚拟内存空间的大小小于物理内存空间的大小时,一旦程序开的太多,物 ...

  7. shell多线程(2)之基于管道实现并发

    在shell脚本里批量执行程序是比较常见的方式,如果程序很多,每个执行时间比较长,则顺序执行需要花费大量的时间. 此时并发就成为我们考虑的方向. 上篇<shell多线程>中我们已经简单实现 ...

  8. Spring如何解决循环引用

    概念 什么是循环引用? 故名思义,多个对象形成环路. 有哪几种循环引用? 在Spring中存在如下几种循环引用,一一举例分析一下 注入循环引用(Set注入 注解注入) package c.q.m; i ...

  9. 前端学习之Bootstrap学习

    一,Bootstrap简介 在前端世界,有个叫Bootstrap的家伙,,是twitter 开源出来的一套前端框架,利用Ta可以快速开发网站界面,它的特点就是比自己从头写简单,直观,方便,快捷,省劲. ...

  10. 【Zookeeper02】ZK的作用以及使用

    上一篇介绍了ZK的安装以及集群的搭建,这只能算是个软件安装过程,具体是做什么的.怎么用也没有做解释,这一篇中博主就自己的私人理解简单写一下: 1.是什么: a.Zookeeper是一个分布式协调服务, ...