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. [转载]iOS开发之手势识别

    感觉有必要把iOS开发中的手势识别做一个小小的总结.在上一篇iOS开发之自定义表情键盘(组件封装与自动布局)博客中用到了一个轻击手势,就是在轻击TextView时从表情键盘回到系统键盘,在TextVi ...

  2. Nginx学习——Nginx基本配置

    1.Nginx的配置文件总览 Nginx配置文件详解 : http://www.cnblogs.com/hunttown/p/5759959.html nginx.conf 基本格式: worker_ ...

  3. ElasticSearch入门(3) —— head插件

    #### 安装ES head插件 具体请参考github地址:https://github.com/mobz/elasticsearch-head 使用 安装Install # 在线安装head插件 ...

  4. zoj1797 Least Common Multiple 最小公倍数

    Least Common Multiple Time Limit: 2 Seconds      Memory Limit: 65536 KB The least common multiple (L ...

  5. 使用Fabric一键批量部署上线/线上环境监控

    本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...

  6. curl命令用于模拟http浏览器发起动作

    1.模拟http浏览器发起访问百度首页的动作 curl  http://www.baidu.com 2.也可以模拟http浏览器发起POST动作,这个在测试后端程序时非常常见.

  7. RN 常见问题

    React/RCTBridgeModule.h not found #import <React/RCTBridgeModule.h> 全部替换为 #import "RCTBri ...

  8. iOS 简单socket连接

    - (void)CreateSocket{ NSString *host = [self.realStreamDict objectForKey:@"StreamSeverIP"] ...

  9. python爬虫之获取验证码登陆

    #--coding:utf-8#author:wuhao##这里我演示的就是本人所在学校的教务系统#import urllib.requestimport urllib.parseimport rei ...

  10. chromium源码阅读--进程的Message Loop

    上一篇总结了chromium进程的启动,接下来就看线程的消息处理,这里的线程包含进程的主进程. 消息处理是由base::MessageLoop中实现,消息中的任务和定时器都是异步事件的. 主要如下几点 ...