Sto provando a scrivere un file su HDFS, il file viene creato ma è vuoto nel cluster, tuttavia quando eseguo il codice localmente funziona come un incantesimo.Scrittura di file su HDFS utilizzando Java
ecco il mio codice:
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();
Mi sono perso qualcosa?
dati a filo? https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/fs/FSDataOutputStream.html#hflush%28%29 – Pierre
@Pierre grazie per la tua risposta, anche quando scarico i dati, il file è ancora vuoto! –
Qual è il valore di 'outputFileName'? e hai provato l'istanza di 'fs' e' testOutFile' come questa (con URI hdfs) http://stackoverflow.com/questions/16000840/write-a-file-in-hdfs-with-java –