bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

java代碼操作hdfs,java代碼操作git

java怎么連接hdfs文件系統,需要哪些包?

apache的Hadoop項目提供一類api可以通過java工程操作hdfs中的文件,包括:文件打開,讀寫,刪除等、目錄的創建,刪除,讀取目錄中所有文件等。

網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、微信小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了冠縣免費建站歡迎大家使用!

1、到下載Hadoop,解壓后把所有jar加入項目的lib里

2、程序處理步驟: 1)得到Configuration對象,2)得到FileSystem對象,3)進行文件操作,簡單示例如下:

/**

*

*/

package org.jrs.wlh;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FSDataOutputStream;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

/**

* @PutMeger.java

* java操作hdfs 往 hdfs中上傳數據

* @version $Revision$/br

* update: $Date$

*/

public class PutMeger {

public static void main(String[] args) throws IOException {

String[] str = new String[]{"E:\\hadoop\\UploadFileClient.java","hdfs://master:9000/user/hadoop/inccnt.java"};

Configuration conf = new Configuration();

FileSystem fileS= FileSystem.get(conf);

FileSystem localFile = FileSystem.getLocal(conf); //得到一個本地的FileSystem對象

Path input = new Path(str[0]); //設定文件輸入保存路徑

Path out = new Path(str[1]); //文件到hdfs輸出路徑

try{

FileStatus[] inputFile = localFile.listStatus(input); //listStatus得到輸入文件路徑的文件列表

FSDataOutputStream outStream = fileS.create(out); //創建輸出流

for (int i = 0; i inputFile.length; i++) {

System.out.println(inputFile[i].getPath().getName());

FSDataInputStream in = localFile.open(inputFile[i].getPath());

byte buffer[] = new byte[1024];

int bytesRead = 0;

while((bytesRead = in.read(buffer))0){ //按照字節讀取數據

System.out.println(buffer);

outStream.write(buffer,0,bytesRead);

}

in.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

如何使用Java API讀寫HDFS

//流讀入和寫入

InputStream in=null;

//獲取HDFS的conf

//讀取HDFS上的文件系統

FileSystem hdfs=FileSystem.get(conf);

//使用緩沖流,進行按行讀取的功能

BufferedReader buff=null;

//獲取日志文件的根目錄

Path listf =new Path("hdfs://10.2.143.5:9090/root/myfile/");

//獲取根目錄下的所有2級子文件目錄

FileStatus stats[]=hdfs.listStatus(listf);

//自定義j,方便查看插入信息

int j=0;

for(int i = 0; i stats.length; i++){

//獲取子目錄下的文件路徑

FileStatus temp[]=hdfs.listStatus(new Path(stats[i].getPath().toString()));

for(int k = 0; k temp.length;k++){

System.out.println("文件路徑名:"+temp[k].getPath().toString());

//獲取Path

Path p=new Path(temp[k].getPath().toString());

//打開文件流

in=hdfs.open(p);

//BufferedReader包裝一個流

buff=new BufferedReader(new InputStreamReader(in));

String str=null;

while((str=buff.readLine())!=null){

System.out.println(str);

}

buff.close();

in.close();

}

怎么使用java代碼直接將從外部拿到的數據存入hdfs

存入HDFS有好幾種數據格式,我這里給你列出一種格式的存儲,sequence的

public?class?SeqWrite?{

private?static?final?String[]?data?=?{?"a,b,c,d,e,f,g",?"h,i,j,k,l,m,n",?"o,p,q,r,s,t",?"u,v,w,x,y,z",?"0,1,2,3,4",?"5,6,7,8,9"?};

public?static?void?main(String[]?args)?throws?IOException,?Exception?{

Configuration?configuration?=?new?Configuration();

//這里是你主機的地址

configuration.set("fs.defaultFS",?"192.168.51.140");

//這個是存儲的路徑

Path?path?=?new?Path("/tmp/test1.seq");

Option?option?=?SequenceFile.Writer.file(path);

Option?optKey?=?SequenceFile.Writer.keyClass(IntWritable.class);

Option?optValue?=?SequenceFile.Writer.valueClass(Text.class);

SequenceFile.Writer?writer?=?null;

IntWritable?key?=?new?IntWritable(10);

Text?value?=?new?Text();

writer?=?SequenceFile.createWriter(configuration,?option,?optKey,?optValue);

for?(int?i?=?0;?i??data.length;?i++)?{

key.set(i);

value.set(data[i]);

writer.append(key,?value);

writer.hsync();

Thread.sleep(10000L);

}

IOUtils.closeStream(writer);

}

}

名稱欄目:java代碼操作hdfs,java代碼操作git
文章分享:http://vcdvsql.cn/article20/hsecco.html

成都網站建設公司_創新互聯,為您提供App設計手機網站建設企業建站建站公司網站改版網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名