<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
|
|
51CTO旗下网站
|
|
移动端

2.5.2 Python

《Hadoop权威指南(中文版)》第2章MapReduce简介,本章介绍MapReduce。本节为大家介绍Python。

作者:周傲英/曾大聃译来源:清华大学出版社|2010-04-23 15:11

2.5.2  Python

Hadoop流支持任何可?#28304;?#26631;准输入读取和写入到标准输出中的编程语言,因此对于更熟悉Python的读者,下面提供了同一个例子的Python版本 。map脚本参见例2-10,reduce脚本参见例2-11。

例2-10:用于查找最高气温的Map函数(Python版本)

  1. #!/usr/bin/env python  
  2.  
  3. import re   
  4. import sys  
  5.  
  6. for line in sys.stdin:  
  7.   val = line.strip()  
  8.    (year, temp, q) = (val[15:19], val[87:92], val[92:93])  
  9.   if (temp != "+9999" and re.match("[01459]", q)):  
  10.     print "%s\t%s" % (year, temp) 

例2-11  用于查找最高气温的Reduce函数(Python版本)

  1. #!/usr/bin/env python  
  2.  
  3. import sys   
  4.  
  5. (last_key, max_val) = (None, 0)  
  6. for line in sys.stdin:  
  7.   (key, val) = line.strip().split("\t")  
  8.   if last_key and last_key != key:  
  9.     print "%s\t%s" % (last_key, max_val)  
  10.     (last_key, max_val) = (key, int(val))  
  11.   else:  
  12.     (last_key, max_val) = (key, max(max_val, int(val)))  
  13.  
  14. if last_key:  
  15.   print "%s\t%s" % (last_key, max_val) 

我们可以测试程序且用在Ruby中用过?#21335;?#21516;的方法来运行作业。比如,运行一个测试:

  1. % cat input/ncdc/sample.txt |   
  2.    
  3. src/main/ch02/python/max_temperature_map.py | \  
  4. sort | src/main/ch02/python/max_temperature_reduce.py  
  5. 1949 111  
  6. 1950 22 
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

笑熬浆糊之职场那些事

笑熬浆糊之职场那些事

IT人的职场心法
共22章 | Bear_Boss

62人订阅学习

Redis运维秘籍

Redis运维秘籍

运维标配技术
共15章 | one叶孤舟

133人订阅学习

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

247人订阅学习

读 书 +更多

网管员必读——网络安全(第2版)

本书是在《网管员必读—网络安全》第1版的基础上修改而成的。新版在保留第1版实用内容的基础上增加了大量新的实用内容,同时?#22659;?#20102;一些过时...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

澳洲幸运5官方
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
ipad百人牛牛 尤文图斯阵容2019 神庙古墓电子游艺 江苏快三计划精准在线 宁夏11选5任选 曾道人玄机图 狗狗币怎么涨不去了 法老王的秘密试玩 皇马对埃瓦尔直播 新剑侠情缘段氏攻略