需求如下:
hadoop的MR执行时,有时候需要获取当前读取的文件名,如对qq聊天记录的分词解析,每个聊天记录的问题命名为qq1-qq2.txt用来表示qq1对qq2说的所有的聊天记录,那么当我们分词完成之后,需要入Hbase,这个时候rowkey为qq1-qq2,内容为语义分析的结果列表。
方案:
针对此操作需要获取当前读取的文件的路径或者直接读到文件名,从而得到文件名,实现如下:
String id = ((FileSplit) context.getInputSplit()).getPath().getName();