Mapreduce如何获取读取文件夹下文件的名字

本文详细介绍了在Hadoop MapReduce环境下如何从Context中获取文件名及HDFS上的绝对路径,提供了实用的代码示例,适用于需要处理大量分布式文件的场景。

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

 需要注意的导包的时候导这两个包

                    import org.apache.hadoop.mapreduce.InputSplit;

                    import org.apache.hadoop.mapreduce.lib.input.FileSplit;
--------------------- 
作者:闻雷
来源:优快云 
原文:https://blog.youkuaiyun.com/qq_41950069/article/details/80446912 
 

    只需要获得文件的名字:

     InputSplit inputSplit=(InputSplit)context.getInputSplit();
 
    String filename=((FileSplit)inputSplit).getPath().getName();
 

简化后:String filename=((FileSplit)context.getInputSplit()).getPath().getName();
    System.out.println(filename);

如果需要获得在hdfs上的绝对路径,可以用以下代码实现:

String filepath = ((FileSplit)context.getInputSplit()).getPath().toString();
  • 1

获取文件名的大致流程为:Context(map函数里) → InputSplit → FileSplit → Path → String(file name)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值