Примеры операций работы файлов HDFS, включая загрузку файлов в HDF, загрузку файлов из HDFS и удаление файлов на HDFS.
Кода -копия выглядит следующим образом:
Импорт org.apache.hadoop.conf.configuration;
Импорт org.apache.hadoop.fs.*;
Импорт java.io.file;
импортировать java.io.ioexception;
открытый класс hadoopfile {
частная конфигурация conf = null;
public Hadoopfile () {
conf = new Configuration ();
conf.addresource (новый путь ("/hadoop/etc/hadoop/core-site.xml"));
}
public Hadoopfile (Configuration Conf) {
this.conf = conf;
}
Public Boolean SendFile (String Path, String LocalFile) {
File file = new File (localFile);
if (! file.isfile ()) {
System.out.println (file.getName ());
вернуть ложь;
}
пытаться {
FileSystem localfs = fileSystem.getLocal (conf);
Файловая система hadoopfs = fileystem.get (conf);
Путь HADPATH = новый путь (путь);
FsdataOutputStream fsout = hadoopfs.create (новый Path (path+"/"+file.getName ()));
FsdatainputStream fsin = localfs.open (новый путь (LocalFile));
byte [] buf = new Byte [1024];
int readbytes = 0;
while ((readbytes = fsin.read (buf))> 0) {
fsout.write (buf, 0, readbytes);
}
fsin.close ();
fsout.close ();
Filestatus [] Hadfiles = Hadoopfs.ListStatus (HadPath);
для (FileStatus fs: Hadfiles) {
System.out.println (fs.toString ());
}
вернуть истину;
} catch (ioException e) {
e.printstacktrace ();
}
вернуть ложь;
}
Public Boolean Delfile (String Hadfile) {
пытаться {
Файловая система hadoopfs = fileystem.get (conf);
Путь HADPATH = новый путь (HADFILE);
PATH P = HADPATH.GETPARENT ();
Boolean rtnval = hadoopfs.delete (Hadpath, True);
Filestatus [] Hadfiles = Hadoopfs.ListStatus (P);
для (FileStatus fs: Hadfiles) {
System.out.println (fs.toString ());
}
вернуть rtnval;
} catch (ioException e) {
e.printstacktrace ();
}
вернуть ложь;
}
Public Boolean Downloadfile (String Hadfile, String LocalPath) {
пытаться {
FileSystem localfs = fileSystem.getLocal (conf);
Файловая система hadoopfs = fileystem.get (conf);
Путь HADPATH = новый путь (HADFILE);
FsdataOutputStream fsout = localfs.create (новый путь (localpath+"/"+hadpath.getName ()));
Fsdatainputstream fsin = hadoopfs.open (hadpath);
byte [] buf = new Byte [1024];
int readbytes = 0;
while ((readbytes = fsin.read (buf))> 0) {
fsout.write (buf, 0, readbytes);
}
fsin.close ();
fsout.close ();
вернуть истину;
} catch (ioException e) {
e.printstacktrace ();
}
вернуть ложь;
}
}