如何将内容从映射器写入文件 - Hadoop



如何将映射器的内容写入文件。这样好吗。

public class MyMapper extends
        Mapper<Object, Text, Text, MatrixWritable > {
public void map(Object key, Text value, Context context)
            throws IOException, InterruptedException {
 Configuration conf = new Configuration();
  FileSystem fs = FileSystem.get(conf);
  Path inputfile = new Path("in/map");
  BufferedWriter getdatabuffer = new BufferedWriter(new OutputStreamWriter(fs.create(inputfile)));
  if(value.toString()!= null){
             getdatabuffer.write(value.toString());
         }
             getdatabuffer.close();

如果我的输入文件被拆分,上面的代码是否正常工作?

在化简器中,我正在组合所有映射器数据。

编辑

        Path inputfile = new Path("in/map");
             FSDataOutputStream out = fs.create(inputfile);
         if(value.toString()!= null){
            out.writeBytes(value.toString());
         }
            out.close();
映射

器任务在Hadoop集群中的多个节点上并发运行。使用普通 Java Writer 类编写的方法将不起作用,因为您需要使用 HDFS API 来写入数据。

相反,在map方法中使用context.write()将数据写入HDFS文件。

相关内容

  • 没有找到相关文章

最新更新