hadoop - 从包含 hadoop 中许多文件的目录中读取特定文件

标签 hadoop mapreduce hadoop-yarn

我想根据文件名从 hadoop 中存在的文件列表中读取特定文件。如果文件名与我给定的名称匹配,我想处理该文件数据。这是我在 map 方法中尝试过的以下方法

public void map(LongWritable key,Text value,Context con) throws IOException, InterruptedException
        {
            FileSplit fs =(FileSplit) con.getInputSplit(); 
            String filename= fs.getPath().getName();
            filename=filename.split("-")[0];
            if(filename.equals("aak"))
            {
                    String[] tokens = value.toString().split("\t");
                    String name=tokens[0];
                    con.write(new Text("mrs"), new Text("filename"));
            }

        }

最佳答案

您需要编写自定义 PathFilter 实现,然后在驱动程序代码中对 FileInputFormat 使用 setInputPathFilter。请查看以下链接:

https://hadoopi.wordpress.com/2013/07/29/hadoop-filter-input-files-used-for-mapreduce/

关于hadoop - 从包含 hadoop 中许多文件的目录中读取特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27699815/

相关文章:

java - MapReduce:如何将 HashMap 传递给映射器

hadoop - Hadoop 中的节点标签

hadoop - 非云环境中的 GCS 连接器

hadoop - sqoop oozie 将查询结果写入文件

reflection - Hadoop 如何决定在 MapTask 类中运行哪个映射器,OldMapper 还是 NewMapper?

javascript - 示例 CouchDB 集中的这个示例映射函数是什么意思?

hadoop - hdfs或hadoop命令在本地到hdfs之间同步文件或文件夹

hadoop - 无法标记文件数据

hadoop - 必须具有 core-site hdfs-site mapred-site 和 yarn-site.xml 的属性

hadoop - Spark YARN 配置问题 : Container keep failing