Hdfs常用操作
2016-12-06 15:51
274 查看
一、linux
rm是删除,不是del
二、常用操作
上传下载除了输出输出流意外,然后IOUtils.copyBytes;就是用fs自带的方法。
rm是删除,不是del
二、常用操作
package hdfs; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils; import org.junit.Before; import org.junit.Test; //那么多test,指向运行一个 那么选种方法明后 在junit public class HDFSDemo { FileSystem fs = null; @Before public void init() throws Exception { URI uri = new URI("hdfs://192.168.58.180:8020/"); Configuration conf=new Configuration(); //这个是抽象类 fs = FileSystem.get(uri, conf, "hxsyl"); } @Test public void downLoadHdfs() throws Exception { fs.copyToLocalFile(new Path("/in/1.txt"),new Path("d:/TestHDFS/2.txt")); } @Test public void delHDFS() throws Exception, Throwable { //true表示地柜删除 boolean flag = fs.delete(new Path("/1.txt"), true); System.out.println(flag); } @Test public void mkdirHDFS() throws Exception, Throwable { boolean flag = fs.mkdirs(new Path("/testHDFS")); System.out.println(flag); } @Test public void uploadHDFS() throws Exception { //一般来说win下的用户和linux下用户不一样,根据hdfs的权限机智,无法写成功, //要么dfs.permissions false 这样一般不行 //要常穿的hdfs dfs -chmod 777 主要是改了其他用户权限 //或者伪装成用户 InputStream is = new FileInputStream("d:/TestHDFS/1.txt"); //指向hdfs 不用new OutputStream os = fs.create(new Path("/1.txt")); IOUtils.copyBytes(is, os, 4096,true); } public static void main(String[] args) throws Exception{ FileSystem fs = null; URI uri = new URI("hdfs://192.168.58.180:8020/"); Configuration conf=new Configuration(); //这个是抽象类 fs = FileSystem.get(uri, conf); // TODO Auto-generated method stub //没有类似的get方法 //虽然这个文件存在 也要new Path path = new Path("/Movielens1M/movies.dat"); InputStream is = fs.open(path); //必须写到文件 否则 //java.io.FileNotFoundException: E:\AAA(拒绝访问。) OutputStream os = new FileOutputStream("D:\\TestHDFS\\1.txt"); //拷贝完成关闭 默认的buffer都是4096 IOUtils.copyBytes(is, os, 4096, true); } }
上传下载除了输出输出流意外,然后IOUtils.copyBytes;就是用fs自带的方法。
相关文章推荐
- hadoop HDFS常用操作
- HDFS常用的文件API操作
- 分布式文件系统HDFS常用操作与设计原理
- hadoop hdfs 常用操作java代码
- hadoop HDFS常用文件操作命令
- HDFS上的常用文件操作java code实现
- putty连接HDFS常用操作命令
- hadoop HDFS常用文件操作命令
- HDFS常用操作
- (六)、HDFS 常用 shell 操作
- hadoop命令 - 创建用户及hdfs权限、hdfs操作等常用命令
- 初学hadoop之linux系统操作的hdfs的常用命令
- java操作hdfs常用方法封装
- hadoop的hdfs文件常用命令操作
- HDFS文件常用操作
- hdfs常用操作(一)
- HDFS常用的文件API操作
- hadoop hdfs 常用操作java代码
- hadoop - hadoop2.6 伪分布式 示例 wordcount 分词 和 hdfs常用操作命令