HDFS檔案的讀寫和關閉流

2021-08-30 02:42:49 字數 937 閱讀 3438

一、讀取hdfs檔案

public class readhdfsfileutil 

//獲取 conf 對應的 hdfs 集群的物件引用

filesystem fs = filesystem.get(conf);

//將給定的 hdfspath 構建成乙個 hdfs 的路徑物件 path

path path = new path(hdfspath);

//位元組轉字元

fsdatainputstream fsdis = fs.open(path);

inputstreamreader isr = new inputstreamreader(fsdis);

bufferedreader br = new bufferedreader(isr);

string temp = null;

while((temp = br.readline()) != null)

br.close();

}}

二、寫入hdfs檔案

1)、位元組流

public static void writetohdfsfile(string tohdfspath,string localpath) throws exception
2)、位元組轉字元

這個時候要注意關閉流,即bw.close。在寫檔案的操作中如果不關閉是寫不進去的,因為資料並沒有落地到檔案中,而是在記憶體中,程式執行完成後就被**了。而且在讀寫檔案操作的時候,不關閉流可能會占用過多的記憶體資源,導致記憶體溢位。

public static void writetohdfsfile(string tohdfspath,string localpath) throws exception

bw.close();

}

HDFS讀寫檔案

hdfs讀寫檔案 hdfs讀檔案 首先,由client下達命令交給distributed file system系統翻譯成linux命令,然後把命令傳送給namenode,namenode去搜尋fsimage和edit logs,搜到以後把檔案的塊位址 get block locations 返回給...

hdfs讀寫流程 HDFS 檔案讀寫流程

開啟分布式檔案 呼叫分布式檔案 distributedfilesystem.open 方法 定址請求 從 namenode 處得到 datanode 的位址,distributedfilesystem使用 rpc 方式呼叫了namenode,namenode 返回存有該副本的datanode 位址,...

開啟關閉檔案和讀寫檔案

一 開啟和關閉檔案 int open char filename,int flags,mode t mode 開啟檔案 open函式將filename轉換為乙個檔案描述符 flags引數也可以是乙個或者更多位掩蓋的 mode引數指定了新檔案的訪問許可權位 int close int fd 關閉檔案 ...