我是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为您提供了所有必要的通行费,您可能需要通过简单的集成来优化您的数据分析和操作。