HDFS使用API操作文件权限
来源:互联网 发布:wp 利用 知乎 编辑:程序博客网 时间:2024/06/06 07:25
在使用命令行时我们可以使用命令
hdfs dfs -chmod 777 /文件名
来修改文件权限。但是往往在实际应用中我们不能使用命令行。这时就要使用hadoop提供的API进行权限的控制。
Hadoop权威指南也已经很清楚的提示了权限的用法(Hadoop权限管理权威指南-点击进入)
下面我就写一个小例子
public class HdfsUtils {/* * create by LiuWenSheng */private static String HDFS_PROTOCOL = "hdfs://datacube202:9000/myproject/";private static Configuration conf=new Configuration();static{conf.set("fs.defaultFS", "hdfs://datacube202:9000/");}/** * 把指定的io流加载到指定的文件路径中 * @param is io流 * @param path 加载到hdfs的路径 * @return 是否加载成功 */public static boolean load2HDFS(InputStream is, String path){try{Path p = new Path(HDFS_PROTOCOL + path);FileSystem fs = FileSystem.get(conf);FsPermission permission = new FsPermission(FsAction.ALL,FsAction.ALL,FsAction.ALL);FSDataOutputStream out = fs.create(p);fs.setPermission(p,permission);IOUtils.copyBytes(is,out,4096);is.close();out.close();fs.close();return true;}catch (Exception e){e.printStackTrace();return false;}}}junit测试类
public class ForTest { private Configuration conf = new Configuration(); @Before public void beforeBegining(){ conf.set("fs.defaultFS", "hdfs://datacube202:9000/"); } @Test public void test_load2HDFS() throws FileNotFoundException { boolean b = HdfsUtils.load2HDFS(new FileInputStream("D:\\test"), "张三/CLUSTERING/e/m/a.txt"); System.out.println(b); }}
权限控制的代码为
FsPermission permission = new FsPermission(FsAction.ALL,FsAction.ALL,FsAction.ALL);
fs.setPermission(p,permission);
此时上传的就是 777 权限,想要控制你的权限就为其他请查看Hadoop的API关于(FsPermission-点击进入)
阅读全文
0 0
- HDFS使用API操作文件权限
- 使用java api操作HDFS文件
- 使用java api操作HDFS文件
- 使用java api操作HDFS文件
- HDFS API 文件操作
- HDFS 基本文件操作API
- HDFS文件操作FileSystem使用API报错:copyToLocalFile NullPointerException
- hadoop操作HDFS文件权限问题
- hadoop操作HDFS文件权限问题
- hadoop hdfs java api 文件操作类
- hdfs 利用java api操作文件
- hadoop hdfs java api 文件操作类
- HDFS常用的文件API操作
- Hadoop-利用java API操作HDFS文件
- Hadoop - HDFS API 对文件进行操作
- 通过使用API来操作HDFS
- 使用HDFS FS API的基本操作
- 使用Hadoop的C API操作HDFS
- DOM中获取元素的方法
- java-文件操作RandomAccessFile
- Organopolysilazane
- 笨方法学Python 习题 38: 列表的操作
- 高通滤波与低通滤波的简单理解
- HDFS使用API操作文件权限
- 使用java的过滤器filter备忘(HttpServletResponseWrapper)
- hive的数据倾斜解决策略
- 网易校招
- 一个运动控制系统的实例
- 半球贴180度全景图片
- CentOs6.5下webbench的安装及测试
- SQL CONVERT() 函数
- JS——DOM