mapreduce的Python操作方法

2021-09-13 01:49:13 字數 1266 閱讀 1634

1.mrjob簡介

mrjob是乙個編寫mapreduce任務python開源框架,它既可以模擬hadoop的mapreduce,也可以之間在hadoop上執行

2.安裝mrjob

[root@i ~]# yum -y install epel-release

[root@i ~]# yum -y install python-pip

(如果你沒有安裝pip)

[root@i ~]# pip install mrjob

3.mapreduce指令碼

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from mrjob.job import mrjob

class mrwordcounter(mrjob):

for word in line.split():

yield word,1

yield word,sum(occurrences)

if __name__ == '__main__':

mrwordcounter.run()

4.mrjob執行方式、

mrjob支援4種執行方式:內嵌(-r inline)、本地(-r local)、hadoop(-r hadoop)、amazon emr(-r emr)

1.內嵌

[root@i ~]# python test.py input.txt -r inline -o output.txt
其中input.txt為資料輸入

output.txt為reduce之後的資料

2.本地

用於本地模擬hadoop除錯,與內嵌方式的區別是啟動了多程序執行每乙個任務

[root@i ~]# python word_count.py -r local -o output.txt
3.hadoop

用於hadoop環境,支援hadoop執行排程控制引數

[root@i ~]# python word_count.py -r hadoop --jobconf mapreduce.job.priority=vrey_high --jobconf mapreduce.job.maps=2 --jobconf mapreduce.job.reduces=1 -o hdfs:///output/hadoop hdfs:///user/hadoop/input

protocol buffer在python中使用

2.然後將potoc 3.0.0 win32.zip下 檔案 protoc.exe,放到protobuf python 3.0.0 protobuf 3.0.0 src中,在cmd 下在資料夾protobuf python 3.0.0 protobuf 3.0.0 python下依次執行 pytho...

pytho學習旅途

轉換當前格式日期 dt datetime.datetime.strptime dtstr,y m d print dt 切片獲取年份 輸入一行字元,分別統計其中英文本母,空格,數,和其他字元數 import string s ww m 23 4j 初始化個數 列印楊輝三角的前十行 triange 1...

pytho指令碼學習

http狀態碼獲取 2.1響應狀態碼 2.2測試 https 2.3http協議 2.3.1埠80 http1.1 多次可以乙個連線 2.3.2明文傳輸 2.4https 443埠加密傳輸 2.5請求方法 2.5.2http1.1 put delete trace conmect patch增加了檔...