有没有人能告诉我有没有办法从java程序中把hadoop命令传递给hdfs(例如:create for delete directory and files“hadoop fs-mkdir/test”)?我试图通过java程序在hdfs中创建和删除目录和文件。还有什么方法可以通过java程序检查hdfs中文件/目录的大小。我正在尝试检查hdfs中目录的大小,如果大小为0,那么我想删除该文件。我需要通过java程序来做所有这些事情。请帮忙。
wbgh16ku1#
看看文件系统,它允许您创建、删除文件等。创建文件并打印其大小的简单类:
import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner; public class Sample extends Configured implements Tool { public static void main(String[] args) throws Exception { ToolRunner.run(new Sample(), args); } @Override public int run(String[] strings) throws Exception { FileSystem fs = FileSystem.get(getConf()); fs.mkdirs(new Path("/sample/dir")); FSDataOutputStream out = fs.create(new Path("/sample/dir/file.txt")); out.writeBytes("hello"); out.close(); System.out.println(fs.getFileStatus(new Path("/sample/dir/file.txt")).getLen()); return 0; } }
1条答案
按热度按时间wbgh16ku1#
看看文件系统,它允许您创建、删除文件等。创建文件并打印其大小的简单类: