首先脚本文件:

  mapper.py:

  #!/usr/bin/env python
  import sys
  for line in sys.stdin:
  line = line.strip()
  words = line.split()
for word in words:
print(word,1)

  reducer.py: 

  #!/usr/bin/env python
  from operator import itemgetter
  import sys
 
  current_word = None
  word = None
  for line in sys.stdin:
line = line.strip()
# print(line)
words=line.split()
word=words[0]
count=int(words[1])
print(word,count)
try:
count = int(count)
except ValueError: #count如果不是数字的话,直接忽略掉
continue
if current_word == word:
current_count += count
else:
if current_word:
print(current_word, current_count)
current_count = count
current_word = word
  if word == current_word: #不要忘记最后的输出
  print(current_word, current_count)
测试map.py和reducer.py两个文件:
  echo "foo foo quux labs foo bar quux" | ./mapper.py  #测试mapper.py
  echo "foo foo quux labs foo bar quux" | ./mapper.py | sort -k1,1 | ./reducer.py  #测试reducer.py文件
在终端运行上述两个脚本文件:
  Hadoop命令不支持Streaming,故需要指定Streaming JAR文件流与JAR选项时指定。Streaming程序的选项指定了输入和输出路径以及map和reducer脚本,即
  hdc@XiaoXin:~$ hadoop jar /home/hdc/software/hadoop-2.9.1/share/hadoop/tools/lib/hadoop-streaming-*.jar  \    #"\"表示一行输入不行换行输入
  > -input /hdc/input_1/word \    #输入文件在hdfs位置
  > -output /program_output/WordCount_out \    #输出在hdfs文件位置
  > -mapper /home/hdc/anaconda3/envs/DL_test/code/WordCount/mapper.py \    #mapper.py在本地(客户端)的位置
  > -reducer /home/hdc/anaconda3/envs/DL_test/code/WordCount/reducer.py    #reducer.py在本地(客户端)的位置
  
 
 
 
 
 
 

python在mapreduce运行Wordcount程序的更多相关文章

  1. hadoop2.7.x运行wordcount程序卡住在INFO mapreduce.Job: Running job:job _1469603958907_0002

    一.抛出问题 Hadoop集群(全分布式)配置好后,运行wordcount程序测试,发现每次运行都会卡住在Running job处,然后程序就呈现出卡死的状态. wordcount运行命令:[hado ...

  2. 021_在Eclipse Indigo中安装插件hadoop-eclipse-plugin-1.2.1.jar,直接运行wordcount程序

    1.工具介绍 Eclipse Idigo.JDK1.7-32bit.hadoop1.2.1.hadoop-eclipse-plugin-1.2.1.jar(自己网上下载) 2.插件安装步骤 1)将ha ...

  3. (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序

    配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序 一.   需求部分 在ubuntu上用Eclipse IDE进行hadoop相关的开发,需要在Eclip ...

  4. Eclipse环境搭建并且运行wordcount程序

    一.安装Hadoop插件 1. 所需环境  hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...

  5. 解决在windows的eclipse上面运行WordCount程序出现的一系列问题详解

    一.简介 要在Windows下的 Eclipse上调试Hadoop2代码,所以我们在windows下的Eclipse配置hadoop-eclipse-plugin- 2.6.0.jar插件,并在运行H ...

  6. spark运行wordcount程序

    首先提一下spark rdd的五大核心特性: 1.rdd由一系列的分片组成,比如说128m一片,类似于hadoop中的split2.每一个分区都有一个函数去迭代/运行/计算3.一系列的依赖,比如:rd ...

  7. 使用MapReduce运行WordCount案例

    @ 目录 一.准备数据 二.MR的编程规范 三.编程步骤 四.编写程序 Mapper程序解读 一.准备数据 注意:准备的数据的格式必须是文本,每个单词之间使用制表符分割.编码必须是utf-8无bom ...

  8. 在Spark上运行WordCount程序

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

  9. IDEA配置Hadoop开发环境&编译运行WordCount程序

    有关hadoop及java安装配置请见:https://www.cnblogs.com/lxc1910/p/11734477.html 1.新建Java project: 选择合适的jdk,如图所示: ...

随机推荐

  1. vue2.X 与 vue1.X 的区别

    vue2.0: bower info vue http://vuejs.org/ 到了2.0以后,有哪些变化? 1. 在每个组件模板,不在支持片段代码 组件中模板: 之前: <template& ...

  2. centos mysql初探 -- 配置、基本操作及问题

    目录: centos安装mysql 使用mysql客户端进行简单操作 python2和python3连接mysql mysql导入文件问题 死锁解决办法 windows 7 远程连接 mysql 服务 ...

  3. 百度地图api设置点的自定义图标不显示

    百度地图api设置点的设置代码为: var myIcon = new BMap.Icon(): 所以首先要找到这行代码,并在括号中加上图片信息: var myIcon = new BMap.Icon( ...

  4. 使用eclipse制作war包方法 web项目打包到tomcat

    打开eclipse在左侧右击项目名选择“Export”   在导出画面点击 “Web”->“WAR file”点击“Next”   点击“Browse…”选择文件的导出位置,Target run ...

  5. JSP+JavaBean 登陆验证

    1.java package cn.gs.ly; import java.util.HashMap; import java.util.Map; public class Register { pri ...

  6. HTML--JS 多列求和

    <html> <head> <title>多列求和</title> <script type="text/javascript" ...

  7. Python笔记(十二)_文件

    文件的打开模式 'r':以只读的方式打开文件(默认) 'w':以写入的方式打开文件,会覆盖已存在的文件 'x':用写入的方式打开文件,如果文件已存在,会抛出异常 'a':用写入的方式打开文件,如果文件 ...

  8. Kakuro Extension【最大流】

    HDU-3338 这道题真的处理起来好复杂啊,题意就是个简单的方格填数问题,但是每个白点至少放1,那么最后的可能解是怎样的呢?我们是不是要把x轴上的和y轴上的统一起来,然后就是每个点都被对应的x和y匹 ...

  9. mysql的命令入门

    mysql入门实践 学习教程 教程链接地址 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 文 ...

  10. win10设置python环境变量

    1.点“我的电脑”,右键选“属性” 2.选择“高级系统设置”--->选“环境变量”--->在“系统变量”中选中“Path”,再点“编辑”--->再点“编辑文本”