2016-10-14 2 views
0

Как я могу выполнить хаооп поместить файлы в hdfs с помощью Java? Это возможно?Переместить файлы в HDFS с помощью Java

Используя это утверждение:

public abstract boolean rename(Path src, Path dst) throws IOException 

?

Спасибо!

+0

проверить эту http://stackoverflow.com/questions/16000840/write-a-file-in- HDFS-с-Явы –

ответ

1

Попробуйте это:

//Source file in the local file system 
String localSrc = args[0]; 
//Destination file in HDFS 
String dst = args[1]; 

//Input stream for the file in local file system to be written to HDFS 
InputStream in = new BufferedInputStream(new FileInputStream(localSrc)); 

//Get configuration of Hadoop system 
Configuration conf = new Configuration(); 
System.out.println("Connecting to -- "+conf.get("fs.defaultFS")); 

//Destination file in HDFS 
FileSystem fs = FileSystem.get(URI.create(dst), conf); 
OutputStream out = fs.create(new Path(dst)); 

//Copy file from local to HDFS 
IOUtils.copyBytes(in, out, 4096, true); 
0

Вы должны быть в состоянии использовать copyFromLocalFile:

Configuration conf = new Configuration(); 
FileSystem fs = FileSystem.get(conf); 
Path localPath = new Path("path/to/local/file"); 
Path hdfsPath = new Path("/path/in/hdfs"); 
fs.copyFromLocalFile(localPath, hdfsPath);