使用Java Api怎么對HDFS進行操作,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯公司長期為近千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為尖草坪企業(yè)提供專業(yè)的網站制作、成都網站設計,尖草坪網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
使用到的jar包
junit junit 4.10 org.apache.hadoop hadoop-client ${hadoop.version}
然后就是操作HDFS的代碼
package com.zuoyan.hadoop.hdfs; import java.io.File; import java.io.FileInputStream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils; /** * use java api operate hdfs * * @author beifeng * */ public class HdfsApp { // get FileSystem public static FileSystem getFileSystem() throws Exception { Configuration conf = new Configuration(); FileSystem fileSystem = FileSystem.get(conf); return fileSystem; } public static void read(String fileName) throws Exception { FileSystem fileSystem = getFileSystem(); // read Path Path readPath = new Path(fileName); FSDataInputStream inStream = fileSystem.open(readPath); try { IOUtils.copyBytes(inStream, System.out, 4096, false); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { // if Exception close Stream IOUtils.closeStream(inStream); } } public static void main(String[] args) throws Exception{ //String fileName = "/user/beifeng/mapreduce/wordcount/input/wc.input"; //read(fileName); FileSystem fileSystem = getFileSystem(); //write path String putFileName = "/user/beifeng/put-wc.input"; Path writePath = new Path(putFileName); FSDataOutputStream outputStream = fileSystem.create(writePath); FileInputStream inputStream = new FileInputStream( new File("/opt/modules/hadoop-2.5.0/wc.input")); try { IOUtils.copyBytes(inputStream, outputStream, 4096,false); } catch (Exception e) { // TODO: handle exception inputStream.close(); outputStream.close(); } } }
看完上述內容,你們掌握使用Java Api怎么對HDFS進行操作的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀!