HDFS 자바 코드 추가 삭제에 대 한

출처: 인터넷
작성자: 사용자
키워드: Hdfs 자바 코드 추가 및 삭제 확인 HDFS 추가 및 삭제 도구 클래스를 확인 하려면

알림: IDE idear 또는 이클립스에서 실행 하려는 경우 당신이 사용 권한을 할당 해야 합니다 HDFs에 윈도우, 사용자 편의 위해 사용 하는 디렉터리에 모든 권한을 777 추천

만들기 디렉터리 명령

HDFs dfs mkdir MyProject


할당 권한 명령 HDFs dfs chmod 777 MyProject HDFs 추가 하 고 삭제 패키지 hdfs; 가져오기 org.apache.hadoop.conf.Configuration; 가져오기 Org.apache.hadoop.fs.FileStatus; 가져오기 Org.apache.hadoop.fs.FileSystem; 가져오기 Org.apache.hadoop.fs.Path; 가져오기 java.io.IOException; 가져오기 java.util.ArrayList; 가져오기 java.util.List; / * * * 2017/8/7에 Liuwensheng에 의해 만들어진. * * 공용 클래스 Hdfsutils {개인 최종 string file_protocol = "file:///"; 개인 최종 문자열 hdfs_protocol = "hdfs: / / Xxx:9000 / myproject "//here XXX 나타냅니다 귀하의 IP 주소와 같은: 192.168.18.1/** * HDFs에 업로드할 로컬 파일에서 파일을 선택 하는 데 사용 * @param 회의 Org.apache.hadoop.conf.Configuration 구성 정보 * @param localpath 문자열 로컬 파일 저장 경로 * @param Hdfspath 문자열 업로드 HDFs 경로 예: a/b. TXT * @throws IOException * / File2hdfs 무효 (구성 회의 localpath 문자열, 문자열 hdfspath) IOException을 throw {파일 시스템 fs (conf); Filesystem.get = Fs.copyfromlocalfile ((File_protocol + localpath) 새로운 경로, 새로운 경로 (Hdfs_protocol + hdfspath)); Fs.close (); / * * * 파일이 테스트 * @param conf 구성 정보 * @param 경로 파일 경로 * @return * @throws IOException/공공 부울 isexit (구성 회의 문자열 경로)는 ioexception을 throw {fs = Filesystem.get (conf); 부울 출구 = Fs.exists (새로운 경로 (Hdfs_protocol + 경로)); Fs.close (); 반환 출구; / * * * 파일을 삭제 * @param conf org.apache.hadoop.conf.Configuration 구성 정보 * @param 경로 파일 경로 삭제할 수 * @throws ioexception * * publi C 부울 Deleteformhdfs (구성 회의 문자열 경로)는 IOException을 throw {파일 시스템 fs (conf); Filesystem.get = Boolea n Isdel = fs.deleteonexit (새로운 경로 (Hdfs_protocol + 경로)); Fs.close (); Isdel; 반환 / * * * 로컬 HDFs 파일 다운로드 * @param conf 구성 정보 * @param hdfspath HDFs 파일 경로 * @param localpath 로컬 파일 경로 * @throws IOException * * public void File2loacl (구성 회의 문자열 hdfspath, 문자열 localpath) ioexception을 throw {파일 시스템 fs = Filesystem.get (conf); Fs.copytolocalfile ((Hdfs_protocol + hdfspath) 새로운 경로, 새로운 경로 (File_protocol + localpath)); Fs.close (); / * * * Hdfs 디렉토리를 생성 * @param conf 구성 정보 * @param 경로 디렉터리 경로 만들 필요가 * @return 성공을 만들 것인지 * @throws IoexcEption/공공 부울 mkhdfsdir (구성 회의 문자열 경로) ioexception을 throw {파일 시스템 fs = Filesystem.get (conf ); MyPath 경로 = 새로운 경로 (hdfs_protocol + 경로); 부울 ISMK = false; 만약 (! fs.exists (MyPath)) {ISMK = Fs.mkdirs (MyPath);} fs.close (); ISMK; 반환 / * * * 현재 디렉터리에 있는 파일 목록 보기 * @param conf 구성 정보 * @param 경로 보기 디렉터리 * @return 파일 상태 배열 * @throws IOException/공개 목록 Lshdfsdir (구성 회의 문자열 경로)는 ioexception을 throw {목록 = new ArrayList (); 파일 시스템 fs = Filesystem.get (conf); filestatus filestatuses = fs.liststatus (새로운 경로 (Hdfs_protocol + 경로)); (Filestatus filestatus:filestatuses)에 대 한 {List.add (Filestatus.getpath (). toString ());} fs.close (); 반환 목록; 패키지 테스트 사례 HDFs를 가져옵니다. Hdfsutils; 가져오기 org.apache.hadoop.conf.Configuration; 가져오기 Org.apache.hadoop.fs.FileStatus; 가져오기 Org.junit.Before; 가져오기 Org.junit.Test; 가져오기 Javax.ws.rs.core.Context; 가져오기 java.io.IOException; 가져오기 java.util.List; / * * * LWS 2017/8/7에 만든. */공용 클래스 Myhdfstest {개인 Hdfsutils hdfsutils = 새로운 Hdfsutils (); 개인 구성 conf = 새로운 구성 (); @Before 공용 void beforebegining () {Conf.set ("Fs.defaultfs", "hdfs://xxx:9000 /"); / XXX 여기 당신의 IP 주소, 192.168.12.8 등} @ 테스트 공용 void Test_file2hdfs () ioexception{Hdfsutils.file2hdfs를 throw (회의 "D:\\bugreport.txt", "/ MYUSER2/1"); 테스트 공용 void Test_deleteformhdfs () ioexception{Hdfsutils.deleteformhdfs를 throw (회의 "/ myuser/bugreport.txt"); 테스트 공용 void Test_isexit ()는 ioexception을 throw {부울 Hdfsutils.isexit = (회의 "/ myuser/bugreport.txt"); System.out.print (은); @Test 공용 void Test_file2local () ioexception{hdfsutils.file2loacl를 throw (conf,/myuser/bugreport.txt, d: / / 테스트 "); } @Test 공용 void Test_mkhdfsdir ()는 ioexception을 throw {부울는 Hdfsutils.mkhdfsdir = (회의 "/" myuser/liming); System.out.print (a); @Test 공용 void Test_lshdfsdir ()는 ioexception을 throw {목록 Hdfsutils.lshdfsdir = (회의 "/ myuser2"); : 목록) {SYSTEM.OUT.PRIntln (파일); } } }
관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.