1. 概述hadoop中關於檔案操作類基本上全部是在org.apache.hadoop.fs包中,這些api能夠支援的操作包含:開啟檔案,讀寫檔案,刪除檔案等。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類庫中最終面向使用者提供的介面類是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
注意的是如果是操作hdfs上檔案的話,需要將hadoop-core和common-log的jar包新增到classpath中,在本地執行,如果是mapreduce程式的話,需要將程式打成jar包,之後上傳到hdfs上,才能執行。
hadoop使用問題
前提 環境 ubuntu 安裝hadoop 已經有一段時間 啟動的時候提示 connection reset by peer 這個檢視日誌,裡面有說 ssh裡面某個檔案的許可權太大 這個ssh裡修改下就可以 eperm operation not permitted 這個之前以為是許可權問題,後來改...
Hadoop使用例項
1.詞頻統計 1.2編寫map與reduce函式 1.3本地測試map與reduce 1.4將文字資料上傳至hdfs上 1.5用hadoop streaming提交任務 1.6檢視執行結果 1.7計算結果取回到本地 加分2.氣象資料分析 如 求每日最高溫度 2.2解壓資料集,並儲存在本地文字檔案中 ...
Hadoop使用例項
1.詞頻統計 1.2編寫map與reduce函式 1.3本地測試map與reduce 1.4將文字資料上傳至hdfs上 1.5用hadoop streaming提交任務 1.6檢視執行結果 1.7計算結果取回到本地 2.氣象資料分析 如 求每日最高溫度 2.2解壓資料集,並儲存在本地文字檔案中 2....