HDFS-API编程基本操作

常用操作 :
1,用代码删除hdfs上的文件
2,追加数据到hdfs文件
3,获取校验和
4,修改权限
测试代码:


```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileChecksum;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;

public class Test4 extends Configured implements Tool {
	public static void main(String[] args) throws Exception {
		//调用run方法
		ToolRunner.run(new Test4(), args);
	}

	@Override
	public int run(String[] args) throws Exception {
		Configuration conf = getConf();
		FileSystem fs = FileSystem.get(conf);
		Path p = new Path(conf.get("inpath"));
		
		//读取hdfs数据
		//fs.open(p);
		//写数据到hdfs集群上,inpath后期传入的数据要是hdfs上【没有】的资源
		//FSDataOutputStream out = fs.create(p);
		
		//追加数据的到hdfs集群上,inpath后期传入的数据要是hdfs上【有】的资源
		//FSDataOutputStream out = fs.append(p);
		
		//删除hdfs集群上的资源
		//boolean delete = fs.delete(p);
		//fs.removeAcl(p);
		
		//获取校验和
		//FileChecksum fileChecksum = fs.getFileChecksum(p);
		//new FsPermission((short)00777)
		
		//修改权限
		FsPermission permission = new FsPermission((short)00777);
		fs.setPermission(p, permission);
		
		fs.close();
		return 0;
	}
	/**
	 * 删除集群上的文件/文件夹
	 * fs集群文件系统
	 * p 要删除的文件 或者文件夹
	 * @throws IOException 
	 * */
	public void delete(FileSystem fs,Path p) throws IOException{
		
		//fs.delete(p);
		//
		//可能需要设置  setting dfs.namenode.acls.enabled=false.
		//fs.removeAcl(p);
		//fs.removeDefaultAcl(p);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值