hadoop map中获取文件/切片名称

Posted Nucky_yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop map中获取文件/切片名称相关的知识,希望对你有一定的参考价值。

//import org.apache.hadoop.mapreduce.InputSplit;
//import org.apache.hadoop.mapreduce.lib.input.FileSplit;

@SuppressWarnings("rawtypes") public static String getCityFromFileName(org.apache.hadoop.mapreduce.Mapper.Context context) throws IOException{ String city="unkown"; InputSplit inputSplit = context.getInputSplit(); String fileName=((FileSplit) inputSplit).getPath().getName(); city=fileName.split("-")[1]; if(city.equals("dns")||city.equals("3gwap")||city.equals("3gnet")){ city=fileName.split("-")[2].split("_")[0]; } city=city.split("_")[0]; return city; }

需要注意的是:要通过context.getInputSplit() 获取切片信息,job设置时,一定不要合并小文件




以上是关于hadoop map中获取文件/切片名称的主要内容,如果未能解决你的问题,请参考以下文章

如何获取hadoop mapreduce job运行信息

mapreduce输入数据为helloworldbyword的切片处理结果

Hadoop MapReduce工作流程

Hadoop 切片机制

Hadoop基础(十八):MapReduce框架原理切片机制

ffmpeg 获取音频文件PCM切片