mapReduce入门程序

一个简单排序的实现:知乎第一个MapReduce程序,里面最后的两个脚本map.py reduce.py

在单机上用如下命令测试:

cat filename.txt | python map.py | sort | python reduce.py > outfile.txt

 单机测试通过后就可以上hadoop环境跑了,需要写一个配置文件,执行结束后会显示"Output directory: hdfs://xxxxx;执行如下命令拉回:

hadoop fs -get hdfs://xxxxx dstDir

 如下命令查看:

hdfs -ls hdfs://xxxxx

如下命令删除文件夹:

hdfs -rm -r hdfs://xxxxx

 附加一个python2中文无法用python3函数处理的问题(python2下print出来看到一堆'\xe9\x9f\xa9\xe6\xad\xa3',然后这样的字符串无法用python3下写好的函数来处理),逐行打印定位到是split('\t')以后就有问题,涉及到字符编码,似懂非懂,以下代码可以在python2下正常处理:

# -*- coding: utf-8 -*- 
import sys
import os
reload(sys)
sys.setdefaultencoding('utf8')
sys.path.append(os.getcwd())
#拆分时'\t'前面加u  
sentences = line.split(u'\t') 
#会输出形如u'\u97e9\u6b63\uff1a\u4e3b\u52a8\u9002\u5e94\u65b0\'的文本行,可以用python3下的字符串处理函数进行处理

 

posted @ 2020-08-12 15:57  tszs_song  阅读(176)  评论(0编辑  收藏  举报