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. java 线程二

    一.线程的优先级别 线程优先级别的使用范例: 1 package cn.galc.test; 2 3 public class TestThread6 { 4 public static void m ...

  2. WPF控件自适应屏幕

    如果说界面设计,那么自适应问题一定无法避免,今天就来分享一下,wpf如何实现自适应,先看一下效果:(文末添加源代码下载)     基本思路就是用 Grid 的网格,进行宽度的自动填充适应,  不过对于 ...

  3. 6656 Watching the Kangaroo

    6656 Watching the KangarooDay by day number of Kangaroos is decreasing just liketiger, whale or lion ...

  4. JavaWeb(一)Servlet中乱码解决与转发和重定向的区别

    前言 前面其实已经把Servlet中所有的内容都介绍完了,这篇讲补充一点乱码和重定向与转发之间的区别! 一.request请求参数出现乱码问题 1.1.get请求 1)乱码示例 get请求的参数是在u ...

  5. UWP brush

    ---some words---- 1.Alpha:透明度 2.Argb :Alpha red green blue 3.brush: [brʌʃ]    刷子,笔画,笔刷 4.fore 前头 5.F ...

  6. Redis “瘦身”指南

    code[class*="language-"], pre[class*="language-"] { background-color: #fdfdfd; - ...

  7. jdbc学习总结

    jdbc学习总结:   一.简介: jdbc,直译为java连接数据库.实际为java为很好的操作数据库而提供的一套接口,接口的实现(即驱动)由各个数据库厂商提供.   二.知识要点: 连接5要素,3 ...

  8. Oracle的常用命令之备份和恢复数据库

    1 将数据库TES完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp 2 将数据 ...

  9. RewriteMap(apache)

    最近在工作中发现一个陌生的语法,apache服务器站点rewrite配置文件里的,开始还以为是apache的一种新语法,以这个词网上搜索,没搜到相关文章,跟老同事请教了一下,说这个是RewriteMa ...

  10. MVC调用部分视图PartialView

    using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Demo2 ...