한 서버의 파일을 다른 서버의hdfs에 놓다
8440 단어 경험
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.springframework.stereotype.Service;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
/**
* Created by panghu on 2017/9/13.
*/
@Service
public class FileManageService {
/**
* hdfs
* @param local
* @param target
* @throws IOException
*/
public static void fileUp(String local ,String target) throws IOException {
URL url = new URL(local);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
// 3
conn.setConnectTimeout(3*1000);
// 403
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//
InputStream in = conn.getInputStream();
System.out.println(target);
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(target), conf);
OutputStream out = fs.create(new Path(target));
IOUtils.copyBytes(in, out, 4096, true);
System.out.println(" 。。。。。。。");
}
/**
* hdfs
* @param local
* @param remote
* @throws IOException
*
*
*/
public static String copyFile(String uri , String local, String remote) throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
fs.copyFromLocalFile(new Path(local), new Path(remote));
System.out.println("copy from: " + local + " to " + remote);
fs.close();
return "111";
}
public static void main(String[] args) {
System.out.println(1234);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
한 서버의 파일을 다른 서버의hdfs에 놓다import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; i...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.