Hadoop在Mapper中获取当前操作文件的文件名

本文详细介绍了如何在Hadoop MapReduce执行过程中获取当前处理文件的名称,通过使用FileSplit和context对象,实现了从路径中提取文件名的功能。此方法适用于对特定文件内容进行处理和存储的应用场景,如对QQ聊天记录的分词解析并入Hbase。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求如下:

hadoop的MR执行时,有时候需要获取当前读取的文件名,如对qq聊天记录的分词解析,每个聊天记录的问题命名为qq1-qq2.txt用来表示qq1对qq2说的所有的聊天记录,那么当我们分词完成之后,需要入Hbase,这个时候rowkey为qq1-qq2,内容为语义分析的结果列表。

方案:

针对此操作需要获取当前读取的文件的路径或者直接读到文件名,从而得到文件名,实现如下:

String id = ((FileSplit) context.getInputSplit()).getPath().getName();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值