我正在尝试将文件写入HDFS,虽然文件已创建,但是在群集上它是空,但是当我在本地运行代码时,它就像一个符咒。
这是我的代码:
FSDataOutputStream recOutputWriter = null;
FileSystem fs = null;
try {
//OutputWriter = new FileWriter(outputFileName,true);
Configuration configuration = new Configuration();
fs = FileSystem.get(configuration);
Path testOutFile = new Path(outputFileName);
recOutputWriter = fs.create(testOutFile);
//outputWriter = new FileWriter(outputFileName,true);
} catch (IOException e) {
e.printStackTrace();
}
recOutputWriter.writeBytes("======================================\n");
recOutputWriter.writeBytes("OK\n");
recOutputWriter.writeBytes("======================================\n");
if (recOutputWriter != null) {
recOutputWriter.close();
}
fs.close();
我错过了什么 ?
最佳答案
为了在群集上创建文件后将数据写入文件,我必须添加:
System.setProperty("HADOOP_USER_NAME", "vagrant");
Refrence - Writing files to Hadoop HDFS using Scala
关于java - 使用Java将文件写入HDFS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38097736/