簡體   English   中英

如何計算MR作業中HDFS中的文件數?

[英]How do I count the number of files in HDFS from an MR job?

我是Hadoop和Java的新手。 我正在嘗試從我正在編寫的MapReduce驅動程序計算HDFS上的文件夾中的文件數。 我想在不調用HDFS Shell的情況下執行此操作,因為我希望能夠傳遞運行MapReduce作業時使用的目錄。 我嘗試了許多方法,但是由於對Java的經驗不足,在實現上沒有成功。

任何幫助將不勝感激。

謝謝,

游牧。

您可以只使用FileSystem並遍歷路徑內的文件。 這是一些示例代碼

int count = 0;
FileSystem fs = FileSystem.get(getConf());
boolean recursive = false;
RemoteIterator<LocatedFileStatus> ri = fs.listFiles(new Path("hdfs://my/path"), recursive);
while (ri.hasNext()){
    count++;
    ri.next();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM