Javaからのサブディレクトリを持つHDFSフォルダーサイズにする必要があります。
コマンドラインから -dus オプションを使用できますが、Java を使用して同じものを取得する方法については誰でも助けてくれます。
Javaからのサブディレクトリを持つHDFSフォルダーサイズにする必要があります。
コマンドラインから -dus オプションを使用できますが、Java を使用して同じものを取得する方法については誰でも助けてくれます。
getContentSummary(Path f)
クラスが提供するメソッドを使用できますFileSystem
。ディレクトリのサイズをバイト単位で示すメソッドを呼び出すことができるContentSummary
オブジェクトを返します。getSpaceConsumed()
使用法 :
package org.myorg.hdfsdemo;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class GetDirSize {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Configuration config = new Configuration();
config.addResource(new Path(
"/hadoop/projects/hadoop-1.0.4/conf/core-site.xml"));
config.addResource(new Path(
"/hadoop/projects/hadoop-1.0.4/conf/core-site.xml"));
FileSystem fs = FileSystem.get(config);
Path filenamePath = new Path("/inputdir");
System.out.println("SIZE OF THE HDFS DIRECTORY : " + fs.getContentSummary(filenamePath).getSpaceConsumed());
}
}
HTH