LAB1 partII


wc.go
package main import (
"fmt"
"mapreduce"
"os"
"strings"
"unicode"
"strconv"
) //
// The map function is called once for each file of input. The first
// argument is the name of the input file, and the second is the
// file's complete contents. You should ignore the input file name,
// and look only at the contents argument. The return value is a slice
// of key/value pairs.
//
func mapF(filename string, contents string) []mapreduce.KeyValue {
// Your code here (Part II). f := func(c rune) bool {
return !unicode.IsLetter(c)
}
rst := make([]mapreduce.KeyValue, ) keys := strings.FieldsFunc(contents, f)
for _, key := range keys {
kv := mapreduce.KeyValue{ Key: key, Value:""}
rst = append(rst, kv)
}
return rst
} //
// The reduce function is called once for each key generated by the
// map tasks, with a list of all the values created for that key by
// any map task.
//
func reduceF(key string, values []string) string {
// Your code here (Part II).
cnt := for _ , val := range values { i , err := strconv.Atoi(val);
if err != nil {
panic(err)
}
cnt += i
} rst := strconv.Itoa(cnt)
return rst
} // Can be run in 3 ways:
// 1) Sequential (e.g., go run wc.go master sequential x1.txt .. xN.txt)
// 2) Master (e.g., go run wc.go master localhost:7777 x1.txt .. xN.txt)
// 3) Worker (e.g., go run wc.go worker localhost:7777 localhost:7778 &)
func main() {
if len(os.Args) < {
fmt.Printf("%s: see usage comments in file\n", os.Args[])
} else if os.Args[] == "master" {
var mr *mapreduce.Master
if os.Args[] == "sequential" {
mr = mapreduce.Sequential("wcseq", os.Args[:], , mapF, reduceF)
} else {
mr = mapreduce.Distributed("wcseq", os.Args[:], , os.Args[])
}
mr.Wait()
} else {
mapreduce.RunWorker(os.Args[], os.Args[], mapF, reduceF, , nil)
}
}
LAB1 partII的更多相关文章
- MIT 6.824学习笔记4 Lab1
现在我们准备做第一个作业Lab1啦 wjk大神也在做6.824,可以参考大神的笔记https://github.com/zzzyyyxxxmmm/MIT6824_Distribute_System P ...
- 6.828 lab1 bootload
MIT6.828 lab1地址:http://pdos.csail.mit.edu/6.828/2014/labs/lab1/ 第一个练习,主要是让我们熟悉汇编,嗯,没什么好说的. Part 1: P ...
- Machine Learning #Lab1# Linear Regression
Machine Learning Lab1 打算把Andrew Ng教授的#Machine Learning#相关的6个实验一一实现了贴出来- 预计时间长度战线会拉的比較长(毕竟JOS的7级浮屠还没搞 ...
- ucore lab1 bootloader学习笔记
---恢复内容开始--- 开机流程回忆 以Intel 80386为例,计算机加电后,CPU从物理地址0xFFFFFFF0(由初始化的CS:EIP确定,此时CS和IP的值分别是0xF000和0xFFF0 ...
- LAB1 partV
partV 创建文档反向索引.word -> document 与 前面做的 单词统计类似,这个是单词与文档位置的映射关系. mapF 文档解析相同,返回信息不同而已. reduceF 返回归约 ...
- 6.824 LAB1 环境搭建
MIT 6.824 LAB1 环境搭建 vmware 虚拟机 linux ubuntu server 安装 go 官方安装步骤: 下载此压缩包并提取到 /usr/local 目录,在 /usr/l ...
- 软件测试:lab1.Junit and Eclemma
软件测试:lab1.Junit and Eclemma Task: Install Junit(4.12), Hamcrest(1.3) with Eclipse Install Eclemma wi ...
- MIT 6.824 lab1:mapreduce
这是 MIT 6.824 课程 lab1 的学习总结,记录我在学习过程中的收获和踩的坑. 我的实验环境是 windows 10,所以对lab的code 做了一些环境上的修改,如果你仅仅对code 感兴 ...
- 清华大学OS操作系统实验lab1练习知识点汇总
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做 ...
随机推荐
- oracle 表空间不足处理
linux环境将*.dmp文件导入数据库时,df -h 发现测试环境虚拟机空间不足,而数据文件xxx.dbf所占空间达到40G左右,果断删除表空间重建在导入. 一.查出存储数据表空间名称 selec ...
- CSS效果:3D卡片
HTML: <html lang="en"> <head> <meta charset="UTF-8"> <meta ...
- ivew Tooltip
在使用ivew的Tooltip时发生错位,添加属性transfer,避免受父样式影响 发生如上错误时,只需添加属性transfer无需赋值
- ubuntu 14.04 重装机 安装笔记 无线网卡+cuda+nvidia
1. 安装QA6714 无线网卡重要参考网页 #22 回答 https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1520343? ...
- C# copy() 与 Clone()区别
copy() 与 Clone()都创建了一个新对象 DataTable dt=new DataTable();DataTable dtcopy=dt.copy(); //copy复制的是值和 ...
- AC, FVOCI, FVPL
IFRS9 会计新准则中规定了资产划分依据为合同现金流特征及业务模式. 关键词:资产负债表,利润表,损益,利率风险 AC账户: 为收取合同约定的现金流.持有到期业务. 资产在持有期内不变,使用摊余成本 ...
- 【转载】 什么是AutoML
文章来源:企鹅号 - 仲耀晖的碎碎念 tzattack Studio presents 来源:Google AI Blog 编译:仲耀晖 ------------------------------- ...
- spring+mybatis的多源数据库配置实战
前言: 关于spring+mybatis的多源数据库配置, 其实是个老生常谈的事情. 网上的方案出奇的一致, 都是借助AbstractRoutingDataSource进行动态数据源的切换. 这边再无 ...
- [err]Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in <module> from pip._internal import main ImportError: No module named 'pip._internal'
Q: Traceback (most recent call last):File "/usr/local/bin/pip", line 7, in <module>f ...
- 学习Linux下的文件目录管理
文件目录管理 一.认识Linux文件系统的架构 在Linux中是没有盘符这个概念的,即Linux中没有C盘和D盘的分盘.那么我们直接通过对目录的操作实现对磁盘的读写,因 ...