Hadoop在Mapper内部获取Input File的文件名

好吧,我承认用Hadoop来处理大数据是件很酷的事。但是有时候在做course project的时候还是让我很受挫。 
很多时候我们在一个map-reduce任务中,会用到Join,这样整个job的输入可能就是两个以上的文件了(换句话说:mapper要处理两个以上的文件)。

如何用mapper处理多输入的情况:

多个mapper:每个mapper处理对应的输入文件https://github.com/zhouhao/Hadoop_Project1/blob/master/MapReduceQueries/Query3/query3.java

MultipleInputs.addInputPath(conf, new Path(args[0]), TextInputFormat.class, CustomerMap.class); MultipleInputs.addInputPath(conf, new Path(args[1]), TextInputFormat.class, TransactionMap.class); FileOutputFormat.setOutputPath(conf, new Path(args[2]));

一个mapper:一个mapper处理所有不同的文件(如下代码段,在mapper内部,我们可以数据来自哪个文件,然后进行相应的处理)

public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, Text> { public void map(LongWritable key, Text value, OutputCollector<Text,Text> output, Reporter reporter) throws IOException { //Get FileName from reporter FileSplit fileSplit = (FileSplit)reporter.getInputSplit(); String filename = fileSplit.getPath().getName(); //String line = value.toString(); output.collect(new Text(filename),value); } }

PS: mapper的输入可以是一个文件夹:FileInputFormat.setInputPaths(conf, new Path("/tmp/"));

时间: 2024-12-11 20:52:53

Hadoop在Mapper内部获取Input File的文件名的相关文章

JS获取input file绝对路径的方法(推荐)_javascript技巧

最近因需要上传文件到oracle blob里, 在获取文件路径的遇到些问题,由于安全原因,新版的浏览器都不支持直接获取本地URL,在网上找了些方法,如下: <script type="text/javascript"> //FX获取文件路径方法 function readFileFirefox(fileBrowser) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPCo

兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法

下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦,也希望有高人能写出并共享,下面是兼容IE和FF的代码: /* * 网页特效 得到图片的完整路径  */ function getFullPath(obj) {     if (obj) {         //Internet Explorer          if (win

jQuery获取intput file图片的宽高

如何判断input file表单里上传的图片的宽高呢?这个时候图片还没真正上传,也不是在页面上展示,不能使用$("id").width()这种方式. 在Stack Overflow找到一个方法: var _URL = window.URL || window.webkitURL; $("#file").change(function (e) {     var file, img;     if ((file = this.files[0])) {        

html js java-如何获取Input type=file 所选择文件的绝对路径

问题描述 如何获取Input type=file 所选择文件的绝对路径 是这样的 现在做的一个项目,页面很简单 左边一个input输入框 可以在里面输入url 右边一个search按钮 当输入框没有输入东西的时候,点击按钮弹出一个上传文件选择的框 所选择的文件的 绝对路径会显示在输入框里 如果输入框有东西 URL是否存在,如果存在 则弹出的上传文件选择框定位在所输入的URL上面 但是现在第一步我就不知道怎么做了,除了ie 别的浏览器选择的文件都只显示文件名 请问有什么办法可以获取到所选择文件的绝

java中如何获取前台input file 传的文件的大小?

问题描述 java中如何获取前台input file 传的文件的大小? 前台页面 <input type="file" id="f"> 如何在后台java中获取此上传文件的大小? 解决方案 File file = new File(yourfile); FileInputStream fis = null; try { fis = new FileInputStream(file); return fis.available() / 1024; } ca

jsp-JSP图片用&amp;amp;lt;input file&amp;amp;gt;获取路径上传到SQL Server并读取

问题描述 JSP图片用<input file>获取路径上传到SQL Server并读取 获取到的地址是:C:UsersAdministratorDesktop123.jpg 但是JSP引用图片的地址是:C:/Users/Administrator/Desktop/123.jpg 要怎么办? 最好有源代码!谢谢拉 解决方案 把替换成/ 答案少于十个字符 解决方案二: 把替换成/ 答案少于十个字符

播放器的url怎呀获取控件input(file)中选定的音频文件的路径

问题描述 如(<objectclassid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"id="WindowsMediaPlayer1"width="200"height="500"><paramname="URL"value="视频链接">)这个value的值该怎么写.请高手指点.自己手上没有分,有分的话会全部给大家.

input file上传图片预览

下载地址http://download.csdn.net/detail/cometwo/9383602 兄弟文章:http://blog.csdn.net/libin_1/article/details/50916704 input file上传图片预览其实很简单,只是没做过的感觉很神奇,今天我就扒下她神秘的面纱,其实原理真的非常非常非常非常非常非常简单! 点击红框是加载显示图片,X号删除,蓝框是自动在后面添加添加图片框,所有的都是原创,代码其实可以更加精简,看终结版文件 <!DOCTYPE h

PHP 多input file文件上传

前台html jquery代码 后台PHP处理 前台html 图片上传 ** 注意name的写法,都要使用name[]方式,并且用同一个name ** 注意带有file的表单,form一定要加:enctype="multipart/form-data" jquery 提交form表单 $(#form).form('submit',{ url:url, success:function(data){ //处理返回数据 } }); PHP 后台处理 //接收处理文件 $fileArray