[英]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.