使用java api操作Hadoop檔案

2021-05-26 10:07:15 字數 2377 閱讀 2222

1. 概述 

2. 檔案操作

2.1  上傳本地檔案到hadoop fs

2.2 在hadoop fs中新建檔案,並寫入

2.3 刪除hadoop fs上的檔案

2.4  讀取檔案

3. 目錄操作

3.1 在hadoop fs上建立目錄

3.2 刪除目錄

3.3 讀取某個目錄下的所有檔案 

hadoop中關於檔案操作類基本上全部是在org.apache.hadoop.fs包中,這些api能夠支援的操作包含:開啟檔案,讀寫檔案,刪除檔案等。

hadoop類庫中最終面向使用者提供的介面類是filesystem,該類是個抽象類,只能通過來類的get方法得到具體類。get方法存在幾個過載版本,常用的是這個:

static filesystem get(configuration conf); 

該類封裝了幾乎所有的檔案操作,例如mkdir,delete等。綜上基本上可以得出操作檔案的程式庫框架:

operator()

另外需要注意的是,如果想要執行下面的程式的話,需要將程式達成jar包,然後通過hadoop jar的形式執行,這種方法比較麻煩,另外一種方法就是安裝eclipse的hadoop外掛程式,這樣能夠很多打包的時間。

1.1 上傳本地檔案到檔案系統

/** upload the local file to the hds 

* notice that the path is full like /tmp/test.c

*/public

static

void

uploadlocalfile2hdfs(string s, string d) 

throws

ioexception

1.2 建立新檔案,並寫入

/** create a new file in the hdfs.

* notice that the tocreatefilepath is the full path

* and write the content to the hdfs file.

*/public

static

void

createnewhdfsfile(string tocreatefilepath, string content) 

throws

ioexception

1.3 刪除檔案

/*     * delete the hdfs file 

* notice that the dst is the full path name

*/public

static

boolean

deletehdfsfile(string dst) 

throws

ioexception

1.4  讀取檔案

/** read the hdfs file content

* notice that the dst is the full path name

*/public

static

byte

readhdfsfile(string dst) 

throws

exception

else}

2.1 建立目錄

/** make a new dir in the hdfs

* * the dir may like '/tmp/testdir'

*/public

static

void

mkdir(string dir) 

throws

ioexception

2.2 刪除目錄 

/** delete a dir in the hdfs

* * dir may like '/tmp/testdir'

*/public

static

void

deletedir(string dir) 

throws

ioexception

2.3 讀取某個目錄下的所有檔案 

public

static

void

listall(string dir) 

throws

ioexception

else

if(stats[i].isdirectory())

else

if(stats[i].issymlink())

}fs.close();}

/files/xuqiang/hadoopfsoperations.rar

許強(就讀於[哈爾濱工業大學(威海)軟體學院]

) 出處:[

使用java api操作Hadoop檔案

hadoop中關於檔案操作類基本上全部是在org.apache.hadoop.fs包中,這些api能夠支援的操作包含 開啟檔案,讀寫檔案,刪除檔案等。hadoop類庫中最終面向使用者提供的介面類是filesystem,該類是個抽象類,只能通過來類的get方法得到具體類。get方法存在幾個過載版本,常...

使用Apache Ambari管理Hadoop

隨著hadoop越來越普及,對合適的管理平台的需求成為當前亟待解決的問題。已經有幾個商業性的hadoop管理平台,如cloudera enterprise manager,但apache ambari是第乙個開源實現。apache ambari是一種基於web的工具,支援apache hadoop集...

Hadoop 04 使用java api操作

1.概述 2.檔案操作 2.1 上傳本地檔案到hadoop fs 2.2 在hadoop fs中新建檔案,並寫入 2.3 刪除hadoop fs上的檔案 2.4 讀取檔案 3.目錄操作 3.1 在hadoop fs上建立目錄 3.2 刪除目錄 3.3 讀取某個目錄下的所有檔案 hadoop中關於檔案...