HDFS的接口(命令行接口和Java接口)--笔记
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接口)--笔记的更多相关文章
- 使用SWIG将C++接口转换成Java接口
PS:此文章仅作为个人记录使用,代码属于私密,故无法公开: 以C++类classifier为例,文件保存于百度网盘 https://pan.baidu.com/s/1c2AwhaS(需密码) 系统:U ...
- 接口和包--Java学习笔记
接口 定义及基础用法 interface定义:没有字段的抽象类 interface person{ void hello(); String getName(); } /*接口本质上就是抽象类 abs ...
- 【Hadoop】四、HDFS的java接口
Hadoop是用java语言实现的,因此HDFS有很好的java接口用以编程,重点就是Hadoop的FileSystem类,它是所有文件系统的抽象类,HDFS实例(DistributedFileS ...
- 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- JAVA学习笔记(3)—— 抽象类与接口
1. Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类 ...
- java接口
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- Java 接口基础详解
目录 Java接口示例 实现一个接口 接口实例 实现多个接口 方法签名重叠 接口变量 接口方法 接口默认方法 接口与继承 继承与默认方法 接口与多态性 在Java中,接口是一个抽象类型,有点类似于类, ...
- 我对面向对象设计的理解——Java接口和Java抽象类
在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...
- Eclipse 创建 Java 接口
打开新建 Java 接口向导 新建 Java 接口向导可以创建新的 Java 接口.打开向导的方式有: 点击 File 菜单并选择 New > Interface 在 Package Explo ...
随机推荐
- [转载]iOS开发之手势识别
感觉有必要把iOS开发中的手势识别做一个小小的总结.在上一篇iOS开发之自定义表情键盘(组件封装与自动布局)博客中用到了一个轻击手势,就是在轻击TextView时从表情键盘回到系统键盘,在TextVi ...
- Nginx学习——Nginx基本配置
1.Nginx的配置文件总览 Nginx配置文件详解 : http://www.cnblogs.com/hunttown/p/5759959.html nginx.conf 基本格式: worker_ ...
- ElasticSearch入门(3) —— head插件
#### 安装ES head插件 具体请参考github地址:https://github.com/mobz/elasticsearch-head 使用 安装Install # 在线安装head插件 ...
- zoj1797 Least Common Multiple 最小公倍数
Least Common Multiple Time Limit: 2 Seconds Memory Limit: 65536 KB The least common multiple (L ...
- 使用Fabric一键批量部署上线/线上环境监控
本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...
- curl命令用于模拟http浏览器发起动作
1.模拟http浏览器发起访问百度首页的动作 curl http://www.baidu.com 2.也可以模拟http浏览器发起POST动作,这个在测试后端程序时非常常见.
- RN 常见问题
React/RCTBridgeModule.h not found #import <React/RCTBridgeModule.h> 全部替换为 #import "RCTBri ...
- iOS 简单socket连接
- (void)CreateSocket{ NSString *host = [self.realStreamDict objectForKey:@"StreamSeverIP"] ...
- python爬虫之获取验证码登陆
#--coding:utf-8#author:wuhao##这里我演示的就是本人所在学校的教务系统#import urllib.requestimport urllib.parseimport rei ...
- chromium源码阅读--进程的Message Loop
上一篇总结了chromium进程的启动,接下来就看线程的消息处理,这里的线程包含进程的主进程. 消息处理是由base::MessageLoop中实现,消息中的任务和定时器都是异步事件的. 主要如下几点 ...