Map和Reduce方法中操作本地文件

Map和Reduce方法中操作本地文件

 

    在Map和Reduce方法中是可以直接操作本地文件的,例如向本地文件系统中写或者读,只是这也会是分布式读和写,这会是从执行task的节点的本地硬盘中读或向其中写。

     注意事项:mapreduce程序书写完毕,请务必打包成jar,在命令行提交中运行。之前我向本地文件系统写时一直不生成数据,以为map或者reduce中不能向本地文件系统写,实际上并不如此。我的错误之处是直接在主节点上的eclipse中编译运行,由于从节点上没有主节点上的这些代码,所以执行之后毫无效果。

     在Map中向本地文件系统写文件的代码,以下代码成功运行后,会在从节点的/home/hadoop目录下生成LogInfo文件。

  

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MapReduce 是一种分布式计算框架,能够将大规模数据集分割成小块,然后在多台计算机上并行处理这些小块数据,最后将结果合并起来。其主要流程如下: 1. Map 阶段:在这个阶段,MapReduce 将大规模数据集划分成小块,然后在每个小块上运行 Map 函数,将其转换为键值对的形式,并将输出结果写入本地磁盘。Map 函数的作用是将输入数据转换为键值对,其键表示数据的某个特征,值表示该特征对应的数据。例如,对于一个文本文件Map 函数可以将文件的每一行转换为一个键值对,其键是行号,值是该行的内容。 2. Shuffle 阶段:在这个阶段,MapReduceMap 函数的输出结果根据键值对重新分配到不同的机器上,以便进行下一步的 Reduce 操作。Shuffle 阶段的主要作用是将 Map 函数的输出结果按照键进行分组,将具有相同键的值发送到同一个 Reduce 任务。这个过程需要进行网络传输,因此需要耗费一定的时间和带宽。 3. Reduce 阶段:在这个阶段,MapReduce 将每个机器上的键值对进行合并和处理,并将结果写入输出文件Reduce 函数的输入是一个键和一组具有该键的值,输出是一组经过归约计算后的结果。Reduce 函数的作用是对具有相同键的值进行归约操作,例如求和、求平均值等。 4. 输出阶段:在这个阶段,MapReduce 将每个 Reduce 函数的输出结果合并成最终的输出文件,并将该文件存储到分布式文件系统。 整个 MapReduce 过程是自动化的,程序员只需要编写 MapReduce 函数,并指定输入和输出路径即可。同时,MapReduce 还具有容错性和自动恢复功能,能够在单个计算机或网络断时自动重启任务,从而保证整个过程的可靠性和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值