HDFS 文件的系统访问的接口

1.Hadoop的shell命令脚本





hadoop fs -ls   列出某一个目录下的文件

hadoop fs -lsr 递归的方式列出所有文件





hadoop fs -mkdir 创建目录





hadoop fs -rm   删除文件或者目录

hadoop fs -rmr  删除目录及目录下的所有目录或者文件





hadoop fs -put src /  向hdfs上传文件

hadoop fs -copyFromLocal /src / 





hadoop fs -get /hdfs

hadoop fs -copyToLocal  从hdfs拷贝到本地文件系统





2.hdfs第二种访问接口 Java接口 JavaAPI





1) 通过URL的方式去访问

static{

URL.setFsUrlStreamHandler(new FSUrlStreamHandlerFactory());

}





 try{

  //使得URL具备访问HDFS的工厂能力

 

 //通过URL统一资源定位符,具体的定位到hdfs的某一个具体的资源文件上

  URL url = new URL("hdfs://master:9000/a.txt");

  //通过url的 openStream方法拿到目标hdfs上文件的输入流对象

  FSDataInputStream in = url.openStream();

  FileOutputStream foo = new FileOutputStream("/home/zkpk/a.txt");

  IOUtils.copyBytes(in, foo, 4096, false);

 }catch(Exception e){

 

 }finally{

IOUtils.closeStream(in);

 }





2) FileSystem 来操作hdfs(常用)









Object obj = FileSystem.get()

Object extends FileSystem{



}





Object obj = new Object();

FileSystem fs; 

fs = obj; //把子类对象看成父类对象,向上转型









 //获取hdfs的配置 configuration

 Configuration conf = new Configuration();

 FileSystem fs = FileSystem.get(conf);

           fs = FileSystem.get(URI.create(uri), conf);





  InputStream in = fs.openStream();





  IOUtils.copyBytes(in, System.out, 4096, false);





3) FileStatus (文件的元信息, 文件的名字,路径 is目录......)

  





  FileStatu[] list = fs.listStatus();





  Path[] paths = FileUtils.status2path(list)





  for(Path p : paths){

fs = FileSystem.get(RUI.create(p), conf);

fs.openStream();

  }





4)fs.delete

   fs.mkdir()

HDFS的接口(命令行接口和Java接口)--笔记的更多相关文章

  1. 使用SWIG将C++接口转换成Java接口

    PS:此文章仅作为个人记录使用,代码属于私密,故无法公开: 以C++类classifier为例,文件保存于百度网盘 https://pan.baidu.com/s/1c2AwhaS(需密码) 系统:U ...

  2. 接口和包--Java学习笔记

    接口 定义及基础用法 interface定义:没有字段的抽象类 interface person{ void hello(); String getName(); } /*接口本质上就是抽象类 abs ...

  3. 【Hadoop】四、HDFS的java接口

      Hadoop是用java语言实现的,因此HDFS有很好的java接口用以编程,重点就是Hadoop的FileSystem类,它是所有文件系统的抽象类,HDFS实例(DistributedFileS ...

  4. 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

    一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...

  5. JAVA学习笔记(3)—— 抽象类与接口

    1. Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类 ...

  6. java接口

    一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...

  7. Java 接口基础详解

    目录 Java接口示例 实现一个接口 接口实例 实现多个接口 方法签名重叠 接口变量 接口方法 接口默认方法 接口与继承 继承与默认方法 接口与多态性 在Java中,接口是一个抽象类型,有点类似于类, ...

  8. 我对面向对象设计的理解——Java接口和Java抽象类

    在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...

  9. Eclipse 创建 Java 接口

    打开新建 Java 接口向导 新建 Java 接口向导可以创建新的 Java 接口.打开向导的方式有: 点击 File 菜单并选择 New > Interface 在 Package Explo ...

随机推荐

  1. Go语言备忘录:基本数据结构

    本文内容是本人对Go语言的变量.常量.数组.切片.映射.结构体的备忘录,记录了关键的相关知识点,以供翻查. 文中如有错误的地方请大家指出,以免误导!转摘本文也请注明出处,多谢! 参考书籍<Go语 ...

  2. vue练手小项目--眼镜在线试戴

    最近看到了一个眼镜在线试戴小项目使用纯js手写的,本人刚学习vue.js没多久,便试试用vue做做看了,还没完善. 其中包括初始图片加载,使用keywords查找,父子组件之间传递信息,子组件之间传递 ...

  3. JS 数据处理技巧及小算法汇总( 一)

    前言: 金秋九月的最后一天,突然发现这个月博客啥也没更新,不写点什么总觉得这个月没啥长进,逆水行舟,不进则退,前进的路上贵在坚持,说好的每个月至少一到两篇,不能半途而废!好多知识写下来也能加深一下自身 ...

  4. Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  5. CN_Week1_Receptive_Field

    0. The introduction: 1. An example: Models of "Receptive Fields". 2. An intuitive method o ...

  6. JS - Function 之 Arguments

    Arguments 函数的参数构成的数组 描述 只定义在函数体内,函数体内arugments指代Arguments对象,该对象是类数组对象,有数组属性可以当做数组使用,含有传入该函数的所有参数,aru ...

  7. c# xml操作类 比较齐全

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  8. OpenCV中的绘图函数-OpenCV步步精深

    OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...

  9. js系列教程2-对象、构造函数、对象属性全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  10. mac 环境下 Quantlib 使用Swig 转换到java

    一.Mac安装boost方法:http://blog.csdn.net/xujiezhige/article/details/8230493 二.Swig,这里使用sudo install swig ...