一.常用类

  1.Configuration

Hadoop配置文件的管理类,该类的对象封装了客户端或者服务器的配置(配置集群时,所有的xml文件根节点都是configuration)

创建一个Configuration对象时,其构造方法会默认加载hadoop中的两个配置文件,分别是hdfs-site.xml以及core-site.xml,这两个文件中会有访问hdfs所需的参数值,主要是fs.default.name,指定了hdfs的地址,有了这个地址客户端就可以通过这个地址访问hdfs了。即可理解为configuration就是hadoop中的配置信息。

  2.FileSystem

该类的对象是一个文件系统对象,对HDFS中的文件进行的一系列操作,如创建等

  3.FileStatus

获取文件或者文件夹的元信息!比如:文件路径,文件大小,文件所有者,所在的块大小,文件修改时间,备份数量,权限等!

  4.FSDataInputStream

输入流对象!可以将HDFS中的文件或者文件夹读取到本地!

  5.FSDataOutputStream

输出流对象! 可以将本地的文件或者文件夹上传到HDFS中!

二.实际应用

  1.

static FileSystem fileSystem=null;
static{
//创建连接
String uri="hdfs://192.168.100.2:9000";
//加载hadoop配置文件
Configuration con=new Configuration();
//创建一个可以操作HDFS的对象
try{
fileSystem=FileSystem.get(URI.create(uri),con)
}catch(IOException e){
e.printStackTrace();
}
}

  2.对文件的操作

1.获取单个文件
public static void catHDFS(String path)throws IOException{
//获取文件路径
FileStatus fileStatus=fileSystem.getFileStatus(new Path(path));
System.out.println(fileStatus);
}
2.查询文件内容
public static void readFile(String fileName)throws IOException{
//获取指定文件路径
FSDateInputStream input=fileSystem.open(new Path(fileName));
//将文件内容装载到BufferedReader对象当中
BufferedReader br=new BufferedReader(new InputStreamReader(input));
String line="";
//循环读取数据
while((line=reader.readLine())!=null){
System.out.println(line);
}
//关闭资源
reader.close();
input.close();
fileSystem.close();
}
3.创建一个文件,并向其中写入内容
public static void createFile(String fileName)throws IOException{
if(fileSystem.exists(new Path(fileName))) {
System.out.println("文件已经存在");
}else {
System.out.println("可以创建");
FSDataOutputStream create=fileSystem.create(new Path(fileName));
String str="wsjxzzgdfq";
create.write(str.getBytes());
create.flush();
create.close();
}
fileSystem.close(); }
4.创建一个空文件夹
public static void mkdir(String fileName)throws IOException{
boolean mkdir=fileSystem.mkdirs(new Path(fileName));
if(mkdir) {
System.out.println("成功");
}else {
System.out.println("失败");
}
fileSystem.close();
}
5.重命名文件或文件夹
public static void rename(String oldName,String newName)throws IOException{
boolean rename=fileSystem.rename(new Path(oldName), new Path(newName));
if(rename) {
System.out.println("成功");
}else {
System.out.println("失败");
}
fileSystem.close();
}
6.重命名文件或文件夹
public static void remove(String fileName)throws IOException{
@SuppressWarnings("deprecation")
boolean delete = fileSystem.delete(new Path(fileName));
if(delete) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
} fileSystem.close();
}
7.从本地(本机)上传文件到HDFS
public static void upfile(String localName,String hdfsName)throws IOException{
//调用上传文件的方法
fileSystem.copyFromLocalFile(new Path(localName), new Path(hdfsName));
fileSystem.close();
}
8.下载文件
public static void downfile(String localName,String hdfsName)throws IOException{
//调用下载文件的方法
fileSystem.copyToLocalFile(new Path(hdfsName), new Path(localName));
fileSystem.close();
}

  3.执行上述方法(把想执行的方法去掉注释就好了)

9.执行方法
public static void main(String[]args) throws Exception{
/*catHDFS("/input/file1.txt");*/
/*readFile("/input/file3.txt");*/
/*createFile("wd.txt");*/
/*mkdir("/wdj");*/
/*rename("/input/file3.txt","/input/file4.txt");*/
/*remove("/wdj");*/
/*upfile("C:\\Users\\wd\\Desktop\\wwww.txt","/input");*/
/*downfile("C:\\Users\\wd\\Desktop","/input/file1.txt");*/
}

使用Eclipse来操作HDFS的文件的更多相关文章

  1. 在eclipse上的hdfs的文件操作

    参考:http://dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/?tdsourcetag=s_pcqq_aiomsg:  http ...

  2. 使用javaAPI操作hdfs

    欢迎到https://github.com/huabingood/everyDayLanguagePractise查看源码. 一.构建环境 在hadoop的安装包中的share目录中有hadoop所有 ...

  3. 大数据之路week07--day01(HDFS学习,Java代码操作HDFS,将HDFS文件内容存入到Mysql)

    一.HDFS概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 ...

  4. 用流的方式来操作hdfs上的文件

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  5. 吴裕雄--天生自然HADOOP操作实验学习笔记:hdfs分布式文件系统安装

    实验目的 复习安装jdk 学习免密码登录 掌握安装配置hdfs集群的方法 掌握hdfs集群的简单使用和检查其工作状态 实验原理 1.hdfs是什么 hadoop安装的第一部分是安装hdfs,hdfs是 ...

  6. eclipse下使用API操作HDFS

    1)使用eclipse,在HDFS上创建新目录 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fil ...

  7. HDFS的Java客户端操作代码(HDFS删除文件或目录)

    1.HDFS删除文件或目录 package Hdfs; import java.io.IOException; import java.net.URI; import org.apache.hadoo ...

  8. java操作hdfs实例

    环境:window7+eclipse+vmware虚拟机+搭建好的hadoop环境(master.slave01.slave02) 内容:主要是在windows环境下,利用eclipse如何来操作hd ...

  9. Hadoop Java API操作HDFS文件系统(Mac)

    1.下载Hadoop的压缩包 tar.gz   https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/ 2.关联jar包 在 ...

随机推荐

  1. 【原创】大数据基础之ElasticSearch(1)简介、安装、使用

    ElasticSearch 6.6.0 官方:https://www.elastic.co/ 一 简介 ElasticSearch简单来说是对lucene的分布式封装,增加了shard(每个shard ...

  2. Python虚拟环境的安装与使用

    通过virtualenv创建 首先安装virtualenv:pip3 install virtualenv 安装完成之后cd到合适的目录下键入命令: virtualenv 虚拟环境名称 (创建纯净的虚 ...

  3. mybatis 保存对象 参数类型

    简单介绍:保存单个对象 ,参数类型的设置,正常的话应该设置成对应的pojo,我想起了以前,不懂事时候的一个做法,其实那时候刚接触到mabatis,做新增的时候,直接就是把需要插入表中的值,放到map里 ...

  4. bzoj 3277

    十分之恶心的后缀自动机 (其实是水题,但是我太弱了...) 首先,有一个预备知识:bzoj 2780https://blog.csdn.net/lleozhang/article/details/89 ...

  5. RedHat 6配置yum源为网易镜像(转)

    概述 由于版权的问题,RedHat6不能直接使用yum一些指令,需要配置yum源为网易镜像,但是网上谈到很多:整理一下,将有用的信息整理如下,以便于能够为其他的配置服务配置使用:需要卸载掉原理系统自带 ...

  6. 安装Visual C++ 6.0后报错:应用程序无法正常启动(0xc0000142)

    最近在安装Visual C++ 6.0时,本来想用个中文版的,结果刚安装好就报了这个错误 百度后发现是由于汉化后的Visual C++ 6.0与win10不兼容造成的 解决办法就是替换程序,把中文版的 ...

  7. Oracle存储过程向Hadoop迁移中的问题及方案

    本文记录Oracle存储过程向Hadoop迁移中遇到的问题及响应的解决办法,作为初学者,文中内容有不妥之处欢迎指正, 1.不支持IN中的子查询,Solution,使用INNER JOIN将子查询操作添 ...

  8. FZU 2285 迷宫寻宝

    思路: bfs求最短路径. #include<stdio.h> #include<iostream> #include<queue> #include<cst ...

  9. js为什么是单线程的?10分钟了解js引擎的执行机制

    深入理解JS引擎的执行机制 1.JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢? 2.JS中的event loop(1) 3.JS中的event loop(2) 4.说说setT ...

  10. Linux 内核参数 arp_ignore & arp_announce 详解

    arp_ignore定义了对目标地址为本机IP的ARP询问的不同应答模式. arp_announce对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制:主机会根据这个参数值的不同选择使 ...