1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
hadoop對(duì)于寫操作提供了一個(gè)類:FSDataOutputStream,這個(gè)類重載了很多write方法,用于寫入很多類型的數(shù)據(jù):比如字節(jié)數(shù)組,long,int,char等等。像FSDataInputStream一樣,要獲得FSDataOutputStream的實(shí)例,必須通過FileSystem該類來和HDFS建立連接,然后通過路徑返回FSDataOutputStream實(shí)例。FileSystem返回FSDataOutputStream實(shí)例的方法有兩組:
create(Path p)函數(shù),創(chuàng)建一個(gè)空文件,然后可以向該文件順序?qū)懭?br/>append(Path p)函數(shù),打開一個(gè)已有文件,并最做文件末尾追加數(shù)據(jù)
以上兩組函數(shù)都有多個(gè)重載版本,可以查閱手冊(cè)。FSDataOutputStream不允許在文件中定位(而FSDataInputStream可以),這是因?yàn)閔adoop只允許在一個(gè)已打開文件順序?qū)懭牖蛟谖募沧芳訑?shù)據(jù),不允許在結(jié)尾之外其他文件寫入數(shù)據(jù)。
在使用append的操作時(shí)可能返回異常dfs.support.append未設(shè)置為true,只要才hdfs-site.xml中把該屬性設(shè)置為true
- 1 回答
- 0 關(guān)注
- 893 瀏覽
添加回答
舉報(bào)