【Hadoop】MapReduce Job Files

Hadoop运行一个MapReduce Job后,JobTracker和TaskTracker都需要创建/维护一系列的文件以便运行/管理/监控job。其中,有部分job files存储在HDFS从而可以分发到各个TT,有部分存储在JT和TT本地。


JobTracker Files

下表总结了几种主要的job file:


FS Location Property Child Directory Directory File List File Type
HDFS mapreduce.jobtracker.staging.root.dir <userId>/.staging/<jobId> job.xml
job.jar
job.split
job.splitmetainfo
Temporary
HDFS mapred.system.dir <jobId>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
0fS0j3w+fhvTtw+PhvT1w+PhvTlQOt1AeR首先,您需要将数据存储在HDFS中。然后,您可以使用Go编写MapReduce作业。 Map9QOt1AeR9QOt1AeR9QOt1Ae\nR9QOt1AeR函数将每个输入键值对映射到一组中间键值对。在这种情况下,您可以将9QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR9输入键值对解析为一行文本并将其拆分为单词。然后,对于每个单词QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR\n9,您可以向中间键值对列表中写入一个键值对,其中键是单词本身,值是1QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR9Q。 Reduce函数将每个中间键及其相关的值列表合并为一个输出键值对。在这种情况Ot1AeR9QOt1AeR9QOt1AeR9QOt1AeR9QOt下,您可以对值列表进行求和并找到前10个最高的单词。 下面是一些Go代码1AeR\n9QOt1AeR9QOt1AeR9QOt1AeR9QOt示例: ``` // Map函数 func mapFunc(key, value string, output chan<- mapreduce.KeyValue) error { words1AeR9QOt1AeR9QOt1AeR9QOt1AeR9QOt1 := strings.Fields(value) for _, word := range words { output <- mapreduce.KeyValue{word, "1"} } AeR9QOt1AeR\n9QOt1AeR9QOt1AeR9QOt1 return nil } // Reduce函数 func reduceFunc(key string, values []string, output chan<- mapreduce.KeyValue) error { AeR9QOt1AeR9QOt1AeR9QOt1AeR9QOt1A count := 0 for _, value := range values { i, err := strconv.Atoi(value) if err != nil { eR9QOt1AeR9QOt1AeR\n9QOt1AeR9QOt1A return err } count += i } output <- mapreduce.KeyValue{key, strconv.Itoa(count)} return nileR9QOt1AeR9QOt1AeR9QOt1AeR9QOt1Ae } // 主函数 func main() { job := mapreduce.Job{ Name: "top10 words", Mapper: mapR9QOt1AeR9QOt1AeR9QOt1AeR\n9QOt1AeFunc, Reducer: reduceFunc, NReduce: 1, } inputFiles := []string{"path/to/input/fileR9QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR"} outputDirectory := "path/to/output/directory" mapreduce.Run(&job, inputFiles, outputDirectory) } ``` 请9QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR\n注意,上述示例假定您已经有一个名为`mapreduce`的包,其中包含`Job`结9QOt1AeR9QOt1AeR9QOt1AeR9QOt1AeR9构和`Run`函数。您可以从Hadoop MapReduce Go Library中获得该包。 希望这可以帮助您开始编写您的MapReduce作业。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值