本篇博客将给大家介绍怎么在PyCharm上编写运行WordCount程序。

第一步 下载安装PyCharm

下载Pycharm

PyCharm的下载地址(Linux版本)。
下载完成后你将得到一个名叫:pycharm-professional-2018.2.4.tar.gz文件。我们选择的是正版软件,学生可申请免费使用。详细信息请百度。

安装PyCharm

执行以下命令解压文件:

  1. cd ~/下载
  2. tar -xvf pycharm-professional-2018.2.4.tar.gz
Shell

这时候我们可以在下载目录看到一个pycharm-2018.2.4文件夹。接下来我们把它放到/usr/local下,并且重命名

  1. sudo mv ./pycharm-2018.2.4 /usr/local/pycharm
Shell

然后我们要执行pycharm.sh文件,完成首次安装:

  1. cd /usr/local/pycharm/bin
  2. ./pycharm.sh
Shell

等待之后我们可以看到如下图界面:

选择不导入设置,点击OK。然后我们会看到以下界面:

选择左下角“Skip Remaining and Set Defaults”,默认设置即可,本人更偏爱白色,所以后面的截图会跟大家不一样,但是没有影响。

配置环境变量

配置环境变量的意义在于我们以后不需要每次都到pycharm文件夹下去启动程序。

  1. sudo vim ~/.bashrc
Shell

将下面内容复制到文件的开头部分。

  1. #pycharm
  2. export PyCharm_HOME=/usr/local/pycharm
  3. export PATH=${PyCharm_HOME}/bin:$PATH
vim

完成以上操作后你就可以在终端直接使用:pycharm.sh命令打开程序了。

第二步 创建并运行WordCount程序

创建工程文件

在开始界面选择“Create New Project”

接下来按照下图操作,修改图中两处红框内容,project起名为WordCount,python选择3.6版本,没有的请安装。
最后点击Create,完成项目创建。

创建python文件

右键点击WordCount文件夹,选择New -> Python File,可以看到以下界面,我们取文件名为WordCount。

然后我们在WordCount.py中复制以下代码:

  1. #-*- coding:utf8-*-
  2. from pyspark import SparkConf, SparkContext
  3. conf = SparkConf().setAppName("WordCount").setMaster("local")
  4. sc = SparkContext(conf=conf)
  5. inputFile = "hdfs://localhost:9000/user/way/word.txt"
  6. textFile = sc.textFile(inputFile)
  7. wordCount = textFile.flatMap(lambda line : line.split(" ")).map(lambda word : (word, 1)).reduceByKey(lambda a, b : a + b)
  8. wordCount.foreach(print)
Python

这时候你会看到PyCharm自动报错,代码中带红色波浪线部分为PyCharm提示的错误。缺少pyspark等。接下来我们要利用pycharm自动帮我们安装pyspark。把鼠标放到带红色波浪线的地方,并且将光标点进错误的地方,如下图,会出现一个小红灯泡。

点击小红灯泡,选择“Install package pyspark”,等待程序自动安装完成,在程序底部可看到正在安装的提示。

补充说明一下代码。

我的inputFile = “hdfs://localhost:9000/user/way/word.txt”
这个文件是放在hdfs伪分布式文件系统上的,这时候你必须开启hdfs文件系统,相关操作查看实验室相关博客。
你也可以选择本地文件inputFile = “file:///home/way/桌面/word.txt”。 当然在这些位置你必须有这个word.txt文件。

Pycharm运行WordCount

然后你可以右键点击代码页面,选择Run “WordCount”。可以看到以下结果:

提交到spark运行

我们也可以把代码提交到Spark运行,具体方法是:
打开终端,打开Spark安装目录,并执行提交任务命令:

  1. cd /usr/local/spark/
  2. ./bin/spark-submit /home/way/PycharmProjects/WordCount/WordCount.py
Shell

翻一下我们的输出信息可以找到以下结果:

至此我们完成了在pycharm用python编写wordcount程序的实验。

本文作者

WayLion

moc.qq@929981158

在Pycharm上编写WordCount程序的更多相关文章

  1. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

  2. indows Eclipse Scala编写WordCount程序

    Windows Eclipse Scala编写WordCount程序: 1)无需启动hadoop,因为我们用的是本地文件.先像原来一样,做一个普通的scala项目和Scala Object. 但这里一 ...

  3. Spark在Yarn上运行Wordcount程序

    前提条件 1.CDH安装spark服务 2.下载IntelliJ IDEA编写WorkCount程序 3.上传到spark集群执行 一.下载IntellJ IDEA编写Java程序 1.下载IDEA ...

  4. 在Spark上运行WordCount程序

    1.编写程序代码如下: Wordcount.scala package Wordcount import org.apache.spark.SparkConf import org.apache.sp ...

  5. 在Linux上编写C#程序

    自从C#开源之后,在Linux编写C#程序就成了可能.Mono-project就是开源版本的C#维护项目.在Linux平台上使用的C#开发工具为monodevelop.安装方式如下: 首先需要安装一些 ...

  6. 编写wordcount程序

    一.程序概述 1.此次编写的程序为邹欣老师<构建之法>科书2.4.2 wordcount程序. 2.我写的wordcount程序要实现的功能整体可以总结为: ① 统计word文档中的字符数 ...

  7. 第一天:学会如何在pycharm上编写第一条robotframework用例

    ---恢复内容开始--- 1.python环境的安装和依赖包的下载

  8. 编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

    编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6 ...

  9. 020_自己编写的wordcount程序在hadoop上面运行,不使用插件hadoop-eclipse-plugin-1.2.1.jar

    1.Eclipse中无插件运行MP程序 1)在Eclipse中编写MapReduce程序 2)打包成jar包 3)使用FTP工具,上传jar到hadoop 集群环境 4)运行 2.具体步骤 说明:该程 ...

随机推荐

  1. js中的toString

    返回对象的字符串表示 objectname.toString([radix])参数 objectname 必选项.要得到字符串表示的对象. radix 可选项.指定将数字值转换为字符串时的进制 说明 ...

  2. js语法和数据类型

    基础知识(Basics) JavaScript 的很多语法借鉴自 Java,但也受 Awk,Perl 和 Python 影响. JavaScript 是大小写敏感的,使用 Unicode 字符集. 在 ...

  3. 通过测试确定GCC中 INT DOUBLE的最大/最小值和精度(DOUBLE)

    INT 确定最大/最小值 由于达到极限之后会变符号,直接循环判断条件即可 DOUBLE确定精度 设置一个DOUBLE变量初始值为1/3.0,每次*10,然后取整数部分,当两次的结果相同时说明已经到最大 ...

  4. 第3章 ZooKeeper基本数据模型 3-1 zk数据模型介绍

    基本数据模型是zookeeper的重点. 它是参照Linux/Unix的目录结构. 子节点就相当于是父目录下的一个子目录,在zookeeper里面它是称之为节点,父节点和子节点,然后每一个节点就会有一 ...

  5. [hdu1251]统计难题(trie模板题)

    题意:返回字典中所有以测试串为前缀的字符串总数. 解题关键:trie模板题,由AC自动机的板子稍加改造而来. #include<cstdio> #include<cstring> ...

  6. PHP trim() 函数

    定义和用法 trim() 函数从字符串的两端删除空白字符和其他预定义字符. 语法 trim(string,charlist) 参数 描述 string 必需.规定要检查的字符串. charlist 可 ...

  7. Spring第五天

    1. [简答题]:简述一下hibernate和spring框架的整合步骤: 答: 1.加入hibernate jar包 2.编写持久化类 3.添加Hibernate的配置文件:hibernate.cf ...

  8. 【Boost】boost库中timer定时器 1

    博客转载自:http://blog.csdn.net/liujiayu2/article/details/50384537 同步Timer asio中提供的timer名为deadline_timer, ...

  9. JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-007Inheritance of embeddable classes(@MappedSuperclass、@Embeddable、@AttributeOverrides、、)

    一.结构 二.代码 1. package org.jpwh.model.inheritance.embeddable; import javax.persistence.MappedSuperclas ...

  10. java的import关键字的使用

    在java中如何使用Java包中自带的类呢? 方法一: 在使用时可以用Java.(包名).(方法名).(包中的类名): 例如:Java.util.Arrays.toString(某个要排序数组); 具 ...