Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop的hdfs api操作 原

Hadoop的hdfs api操作 原

作者头像
用户2603479
发布于 2018-08-15 08:08:22
发布于 2018-08-15 08:08:22
26900
代码可运行
举报
文章被收录于专栏:JAVA技术站JAVA技术站
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void listFile(String path) throws IOException{
		//读取配置文件
		Configuration conf = new Configuration();
		//获取文件系统
		FileSystem fs = FileSystem.get(URI.create("hdfs://hadoop1:9000"),conf);
		//获取文件或目录状态
		FileStatus[] fileStatus = fs.listStatus(new Path(path));
		//打印文件的路径
		for (FileStatus file : fileStatus) {
			System.out.println(file.getPath());
		}
	 
		//关闭文件系统
		fs.close();
	 }

一、包依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.7.6</version>
</dependency>

二、API的操作

1.创建目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	public static void mkdir(String path) throws IOException {
		Configuration conf = new Configuration();
		conf.set("fs.defaultFS", "hdfs://127.0.0.1:9000");
		FileSystem fs = FileSystem.get(conf);
		Path srcPath = new Path(path);
		boolean isok = fs.mkdirs(srcPath);
		if (isok) {
			System.out.println("create dir ok!");
		} else {
			System.out.println("create dir failure");
		}
		fs.close();
	}

2.删除目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
	 * 删除目录
	 * @param path
	 */
	public static void rmdir(String path)throws Exception {
		Configuration configuration = new Configuration();
		FileSystem fs = FileSystem.get(URI.create("hdfs://127.0.0.1:9000"), configuration);
	    boolean flag = fs.deleteOnExit(new Path("/test"));
	    if(flag) {
			 System.out.println("delete ok!");
		}else {
			 System.out.println("delete failure");
		}
		
		//关闭文件系统
		fs.close();

	}

3.创建文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void createFile(String dst , byte[] contents) throws IOException{
		Configuration conf = new Configuration();
		FileSystem fs = FileSystem.get(URI.create("hdfs://localhost:9000"),conf);
		Path dstPath = new Path(dst);  
		FSDataOutputStream outputStream = fs.create(dstPath);
		outputStream.write(contents);
		outputStream.close();
		fs.close();
		System.out.println("文件创建成功!");
		
	 }

4.读取文件内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void readFile(String uri) throws IOException {
		//读取配置文件
		Configuration conf = new Configuration();
		//获取文件系统
		FileSystem fs = FileSystem.get(URI.create("hdfs://localhost:9000"),conf);
		
		InputStream in = null;
		try {
			in = fs.open(new Path(uri));
			//复制到标准输出流
			IOUtils.copyBytes(in, System.out, 4096,false);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			IOUtils.closeStream(in);
		}
	}

5.查看文件目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void listFile(String path) throws IOException{
		//读取配置文件
		Configuration conf = new Configuration();
		//获取文件系统
		FileSystem fs = FileSystem.get(URI.create("hdfs://hadoop1:9000"),conf);
		//获取文件或目录状态
		FileStatus[] fileStatus = fs.listStatus(new Path(path));
		//打印文件的路径
		for (FileStatus file : fileStatus) {
			System.out.println(file.getPath());
		}
	 
		//关闭文件系统
		fs.close();
	 }

其它操作查看应的FileSystem的api

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop--HDFS API编程封装
HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件、删除文件、读取文件内容等操作。下面记录一下使用JAVA API对HDFS中的文件进行操作的过程。   对分HDFS中的文件操作主要涉及一下几个类:   Configuration类:该类的对象封转了客户端或者服务器的配置。   FileSystem类:该类的对象是一个文件系统对象,可以用该对象的一些方法来对文件进行操作。FileSystem fs = FileSystem.get(conf);通过FileSystem的静态
汤高
2018/01/11
1.1K0
HDFS系列(6) | HDFS的java API操作
在之前的博客《HDFS系列(5) |进行API操作前的准备》中,博主为大家分享的是在进行API操作前的准备工作。而本篇博客,博主为大家展现HDFS的API操作。 1. HDFS文件上传 1. 源码: package com.buwenbuhuo.hdfs; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; imp
不温卜火
2020/10/28
9030
HDFS系列(6) | HDFS的java API操作
大数据 | Java 操作 HDFS 常用 API
上篇文章介绍了关于 HDFS 的常用命令,其常用的命令都有相应的 API,用命令可以完成的功能,使用 Java API 也可以完成。本文介绍关于 HDFS 常用的 Java API。
码农UP2U
2021/11/17
8190
HDFS-常用API操作
可以在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入
栗筝i
2022/12/01
2560
hadoop: hdfs API示例
利用hdfs的api,可以实现向hdfs的文件、目录读写,利用这一套API可以设计一个简易的山寨版云盘,见下图:
菩提树下的杨过
2018/09/20
1.6K0
hadoop: hdfs API示例
Hadoop之HDFS04【JavaAPI操作】
  前面项目中我们是创建的java项目来演示的,但是hadoop相关的依赖太多了,不方便,本文通过maven项目来演示HDFS的java API操作
用户4919348
2019/04/18
4680
javaAPI操作hadoop hdfs
写在之前 在开始操作之前请确保已经正确安装启动hadoop并且能够连接到 依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId>
许喜朝
2020/09/29
6450
HDFS JAVAAPI总结
maven仓库 <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.5</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <ar
Maynor
2022/11/30
4410
HDFS基本操作
一、hadoop搭建     1、修改主机名     2、ip等     3、主机映射     4、关闭防火墙(两种)     5、ssh免密登录(免密脚本)     6、安装jdk 配置环境变量     7、安装hadoop         配置文件的修改         hadoop-env.sh    JAVA_HOME         core-site.xml    客户端参数    namenode在哪里         hdfs-site.xml    namenode和datanode存放的目录         mapred-site.xml    经过重命名之后才得到的文件,提交任务到哪里         yarn-site.xml    配置resourcemanager在哪里,资源的多少         HADOOP环境变量     8、安装程序分发集群         hosts文件         jdk安装文件    /etc.profile         hadoop安装文件     9、namenode进行格式化         hadoop namenode -format     10、启动测试         start-dfs.sh         hadoop-deams.sh    单独启动单台机器的进程         start-yarn        是在resourcemaneger启动的 二、shell命令操作hdfs
曼路
2018/10/18
8150
《快学BigData》--Hadoop总结(F)(39)
Hadoop总结 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 210
小徐
2019/08/05
2950
Hadoop基础教程-第4章 HDFS的Java API(4.7 Java API封装类)(
第4章 HDFS的Java API 4.7 Java API封装类 package cn.hadron.hdfsDemo; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSys
程裕强
2022/05/06
2520
Hadoop基础教程-第4章 HDFS的Java API(4.7 Java API封装类)(
Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
前言   我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的。那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一、HDFS中数据块概述 1.1、HDFS集群中数据块存放位置   我们知道hadoop集群遵循的是主/从的架构,namenode很多时候都不作为文件的读写操作,只负责任务的调度和掌握数据块在哪些datanode的分布,   保存的是一些数据结构,是namespace或者类似索引之类的东西,真正的数据存储和对数据的读写是发生在datanode里的。   找到${HADOO
用户1195962
2018/01/18
1.2K0
Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
HDFS Java API
官网 http://hadoop.apache.org/docs/r2.7.3/api/index.html
程裕强
2022/05/06
1.6K0
HDFS Java API
HDFS之使用Java客户端对文件的一些操作
在这里总结了一下使用java对HDFS上文件的操作,比如创建目录、上传下载文件、文件改名、删除…… 首先对一些类名、变量名做出解释说明: FileSystem: 文件系统的抽象基类 FileSystem的实现取决于fs.defaultFS的配置! 有两种实现! LocalFileSystem: 本地文件系统 fs.defaultFS=file:/// DistributedFileSystem: 分布式文件系统 fs.defaultFS=hdfs://xxx:9000 声明用户身份:
孙晨c
2020/07/08
1.2K0
一脸懵逼学习hadoop之HDFS的java客户端编写
该文章是一篇关于Java编程的文章,主要介绍了Java中的各种基础概念和常见用法,包括Java中的基本数据类型、流程控制、函数和方法、面向对象编程等内容。文章还介绍了Java中的异常处理、文件操作、网络编程等方面的内容。文章旨在帮助读者掌握Java编程的基础知识,并学会如何编写高质量的Java代码。
别先生
2018/01/02
7140
快速学习-HDFS客户端操作
需要在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入
cwl_java
2020/02/19
6000
HDFS Java API 实践
安装集群:https://michael.blog.csdn.net/article/details/114607857
Michael阿明
2021/09/06
4170
【详解】HadoopHDFS操作实例
Hadoop分布式文件系统(HDFS)是Hadoop项目的核心组件之一,它是一个高容错性的数据存储系统,非常适合处理大规模的数据集。本文将通过几个实际的操作示例来介绍如何在Hadoop的HDFS中进行常见的文件操作。
大盘鸡拌面
2025/01/14
1500
Hadoop 使用Linux操作系统与Java熟悉常用的HDFS操作
1.向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,则由用户来指定是追加到原有文件末尾还是覆盖原有的文件;
小小程序员
2023/03/09
2.3K0
Hadoop 使用Linux操作系统与Java熟悉常用的HDFS操作
Win10 IDEA连接虚拟机中的Hadoop(HDFS)
IDEA自带Maven,如果需要自己安装Maven可以参考Maven安装教程 创建项目,选择Maven,模板选择第一个maven-archetype-archetype
超级小的大杯柠檬水
2024/11/21
1390
Win10 IDEA连接虚拟机中的Hadoop(HDFS)
相关推荐
Hadoop--HDFS API编程封装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验