Hadoop Mapreduce从hdfs输入并将输出写入excel文件的示例



我是Hadoop编程新手,我在Hadoop中找到了一些关于mapreduce的有用链接,我可以处理。它对我和初学者都很有用。

所有的例子都显示了从eclipse中输入和输出,可以在eclipse的output文件夹中看到。

在这里,我想知道如何从HDFS给出输入(我的意思是,而不是从eclipse给出)。并将输出写入某个Excel文件。

请给我建议。

你只需要遵循使用Java和Excel的必要步骤,用Hadoop对你的信息进行适当的操作。

  • 上传或添加文件到HDFS

这里有一个关于如何输入的典型例子:

    public void addFile(String source, String dest) throws IOException {     
    // Conf object will read the HDFS configuration parameters
    Configuration conf = new Configuration();
    conf.addResource(new Path("/home/hadoop/hadoop/conf/core-site.xml"));
    conf.addResource(new Path("/home/hadoop/hadoop/conf/hdfs-site.xml"));
    conf.addResource(new Path("/home/hadoop/hadoop/conf/mapred-site.xml"));
    FileSystem fileSystem = FileSystem.get(conf);
    // Get the filename out of the file path
    String filename = source.substring(source.lastIndexOf('/') + 1, source.length());
    // Create the destination path including the filename.
    if (dest.charAt(dest.length() - 1) != '/') {
    dest = dest + "/" + filename;
    } else {
    dest = dest + filename;
    }
    // Check if the file already exists
    Path path = new Path(dest);
    if (fileSystem.exists(path)) {
    System.out.println("File " + dest + " already exists");
    return;
    }
    // Create a new file and write data to it.
    FSDataOutputStream out = fileSystem.create(path);
    InputStream in = new BufferedInputStream(new FileInputStream(
    new File(source)));
    byte[] b = new byte[1024];
    int numBytes = 0;
    while ((numBytes = in.read(b)) > 0) {
    out.write(b, 0, numBytes);
    }
    // Close all the file descripters
    in.close();
    out.close();
    fileSystem.close();
}

Source: A HDFSClient for Hadoop - Linux Junkies

然后按照如何可视化数据输出的说明:

  • 导入服务器日志数据到Excel

进一步的信息也可以帮助:

  • 在Ubuntu Linux上运行Hadoop

Hadoop为您提供了所有必要的通行费,您可能需要通过简单的集成来优化您的数据分析和操作。

相关内容

  • 没有找到相关文章

最新更新