当前位置: 首页 > news >正文

hdfsClient_java对hdfs进行上传、下载、删除、移动、打印文件信息尚硅谷大海哥

Java可以通过Hadoop提供的HDFS Java API来控制HDFS。通过HDFS Java API,可以实现对HDFS的文件操作,包括文件的创建、读取、写入、删除等操作。

具体来说,Java可以通过HDFS Java API来创建一个HDFS文件系统对象,然后使用该对象来进行文件的操作。例如,可以使用FileSystem类的create()方法来创建一个新的文件,使用open()方法来打开一个文件进行读取,使用write()方法来向文件中写入数据,使用delete()方法来删除一个文件等。

此外,Java还可以通过HDFS Java API来管理HDFS的元数据信息,包括文件的权限、所有者、修改时间等信息。通过FileSystem类的setPermission()、setOwner()、setTimes()等方法,可以对文件的元数据信息进行修改。

前提:
配置HADOOP_HOME环境变量

配置Path环境变量

Maven依赖成功导入

(这三个不会的评论区评论我发资料给你)

代码:

package com.huangyongsheng.hdfs;
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.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.io.IOUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;/*** 客户端代码常用套路* 1,获取客户端对象* 2.执行操作* 3.关闭资源* HDFS zookeeper*/
public class HdfsClient {private FileSystem fs;@Beforepublic void init() throws URISyntaxException, IOException, InterruptedException {URI uri = new URI("hdfs://hadoop102:8020");Configuration configuration = new Configuration();String user="huangyongsheng";fs = FileSystem.get(uri, configuration, user);}@Afterpublic void close() throws IOException {fs.close();}@Test//创建目录public void testmkdir() throws URISyntaxException, IOException, InterruptedException {fs.mkdirs(new Path("/xiyuo/huaguoshan2"));System.out.println("目录创建成功");}@Test//上传;是否删除原数据;是否覆盖;原数据路径;目的路径public void testPut() throws IOException {fs.copyFromLocalFile(false,false,new Path("D:\\sun_wu_kong.txt"),new Path("/xiyuo/huaguoshan"));}@Test//下载;是否删除原数据;hdfs文件路径;win路径;是否校验(不用)public void  testGet() throws IOException {
//        fs.copyToLocalFile(false,new Path(""),new Path(""));InputStream in =fs.open(new Path("/dancijishu/wcinput/word1.txt"));IOUtils.copyBytes(in,System.out,4096,false);IOUtils.closeStream(in);}@Test//删除;删除文件,目录,非空目录(需要参数true)是否递归删除public void testRm() throws IOException {fs.delete(new Path(""),false);}@Test//文件的更名和移动public void testmv() throws IOException {fs.rename(new Path("/xiyuo/huaguoshan2"),new Path("/xiyuo/huaguoshan_namechanged"));// rename可以移动文件并改名      原文件路径(路径里的文件)                   一个新的路径(路径里的文件)}@Test//获取文件详情public void fileDetail() throws IOException {//获取所有文件信息                  迭代器RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/"),true);while (listFiles.hasNext()){LocatedFileStatus fileStatus = listFiles.next();System.out.println("===================="+fileStatus.getPath()+"====================");System.out.println(fileStatus.getPermission());System.out.println(fileStatus.getOwner());System.out.println(fileStatus.getGroup());System.out.println(fileStatus.getLen());System.out.println(fileStatus.getModificationTime());System.out.println(fileStatus.getReplication());System.out.println(fileStatus.getPath().getName());}}
}

相关文章:

hdfsClient_java对hdfs进行上传、下载、删除、移动、打印文件信息尚硅谷大海哥

Java可以通过Hadoop提供的HDFS Java API来控制HDFS。通过HDFS Java API&#xff0c;可以实现对HDFS的文件操作&#xff0c;包括文件的创建、读取、写入、删除等操作。 具体来说&#xff0c;Java可以通过HDFS Java API来创建一个HDFS文件系统对象&#xff0c;然后使用该对象来进…...

【前端学java】语法练习-工具类的封装(13)

往期回顾&#xff1a; 【前端学java】JAVA开发的依赖安装与环境配置 &#xff08;0&#xff09;【前端学 java】java的基础语法&#xff08;1&#xff09;【前端学java】JAVA中的packge与import&#xff08;2&#xff09;【前端学java】面向对象编程基础-类的使用 &#xff08…...

Git 基本操作

目录 创建仓库命令 git init git clone 提交与修改 git add git status git diff git commit git reset git rm git mv git checkout git switch git restore 提交日志 git log git blame 远程操作 git remote git fetch git pull git push Git 的工作就…...

Oracle-分析函数(累计求和,排序等)

在Oracle中分析函数又称为开窗函数 分为以下两类&#xff1a; 第一类&#xff1a;是聚合分析函数&#xff0c;主要包含&#xff08;sum&#xff0c;count&#xff0c;AVG、MAX、MIN等&#xff09;&#xff0c;主要是对内部分组的数值按照要求内部聚合处理&#xff1b; 第二类&a…...

4本期刊被踢!11月SCI/SSCI目录已更新

​2023年11月20日&#xff0c;科睿唯安更新了Web of Science核心期刊目录。 此次更新后SCIE期刊目录共包含9481本期刊&#xff0c;SSCI期刊目录共包含3551本期刊。此次SCIE & SSCI期刊目录更新&#xff0c;与上次更新&#xff08;2023年10月&#xff09;相比&#xff0c;共…...

JS中Cookie的基本使用

JavaScript 创建Cookie&#xff1a; JavaScript 读取 Cookie &#xff1a; JavaScript 修改 Cookie&#xff1a; JavaScript 删除 Cookie &#xff1a; JavaScript Cookie&#xff08;JavaScript 的 Cookie&#xff09;是一种在Web浏览器中存储和检索用户信息的机制。它允许…...

关闭windows防火墙命令

关闭windows防火墙命令 打开windows PowerShell (管理员) 或 CMD (管理员) 指令&#xff1a; 查看当前防火墙状态&#xff1a;netsh advfirewall show allprofiles 关闭防火墙&#xff1a;netsh advfirewall set allprofiles state off 开启防火墙&#xff1a;netsh advfirewa…...

excel-gen.js 导出excel 功能

目录 概要 整体架构流程 html部分&#xff1a; js部分&#xff1a; json部分&#xff1a; 小结 概要 功能会使用到如下插件&#xff1a; jszip.min.js FileSaver.js jquery.min.js excel-gen.js highcharts.js exporting.js export_data.js 主要是highcharts图表…...

键鼠自动化2.0展示

软件介绍&#xff1a;桌面键鼠自动化工具 Qtc 编写&#xff1a; 本软件采用Qt C编写&#xff0c;旨在提供高效、跨平台的桌面键鼠自动化解决方案。Qt C框架的选择确保了软件的稳定性、可靠性&#xff0c;并通过其图形用户界面实现了用户友好的操作体验。 鼠标移动与点击&#…...

html主页框架,前端首页通用架构,layui主页架构框架,首页框架模板

html主页框架 前言功能说明效果使用初始化配置菜单加载主题修改回调 其他非iframe页面内容使用方式iframe页面内容使用方式 前言 这是一个基于layui、jquery实现的html主页架构 平时写的系统后台可以直接套用此框架 由本人整合编写实现&#xff0c;简单上手&#xff0c;完全免…...

SDWAN厂家排名

随着网络技术的不断发展&#xff0c;SDWAN&#xff08;软件定义广域网&#xff09;作为一种新兴的网络架构&#xff0c;正在受到越来 越多企业的关注和采用。选择一家可靠的SDWAN厂家成为企业成功部署和管理SDWAN的关键。本文将从技术实力、客户口碑以及市场占有率三个方面&…...

【STM32】CRC(循环冗余校验)

一、CRC的背景知识 1、什么是CRC (1)CRC&#xff08;Cyclic Redundancy Check&#xff09;&#xff0c;循环冗余校验 (2)什么是校验&#xff0c;为什么需要校验&#xff1a;数据传输&#xff0c;数据存储过程中需要使用到的 (3)什么是冗余&#xff1a;表示比实际上要传输的数据…...

04.webpack中css的压缩和抽离

1.抽离css文件 利用mini-css-extract-plugin插件&#xff0c;替代style-loader const MiniCssExtractPlugin require(mini-css-extract-plugin) module.exports smart(webpackCommonConf, {mode: production,output: {// filename: bundle.[contentHash:8].js, // 打包代码…...

Vue 3 和 Spring Boot 3 的操作流程和执行步骤详解

1.介绍 在本篇博客中&#xff0c;我们将详细介绍Vue 3 和 Spring Boot 3 的操作流程和执行步骤。Vue 3 是一款流行的前端框架&#xff0c;而Spring Boot 3 是一款广泛应用于后端开发的框架。通过结合使用这两个框架&#xff0c;我们可以构建出功能强大的全栈应用。 2.Vue 3 的操…...

获取所有非manager的员工emp_no

个人网站 文章首发于公众号小肖学数据分析 题目来自牛客网 描述 有一个员工表employees简况如下: emp_nobirth_datefirst_namelast_namegenderhire_date100011953-09-02GeorgiFacelloM1986-06-26100021964-06-02BezalelSimmelF1985-11-21100031959-12-03PartoBamfordM1986…...

STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX

STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元&#xff0c;W25QXX系列Flash有不同容量的型号&#xff0c;如W25Q64的容量为64Mbit&#xff0c;也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库实现FATS文件操作W25Q各型号FLASH的例程。…...

Sentinel 熔断规则 (DegradeRule)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…...

嵌入式Linux开发面试题和答案

熟练的编程语言&#xff1a; 问&#xff1a;“您在嵌入式系统开发中熟练使用哪些编程语言&#xff1f;”答&#xff1a;在嵌入式系统开发中&#xff0c;我熟练使用C、C和Python等编程语言。C语言因其接近硬件的操作和效率而被广泛应用&#xff1b;C则在需要面向对象编程时提供了…...

Linux安装Mysql详细教程(两种安装方法)

Linux之Mysql安装配置 第一种&#xff1a;Linux离线安装Mysql&#xff08;提前手动下载好tar.gz包&#xff09;第二种&#xff1a;通过yum安装配置Mysql&#xff08;服务器有网络&#xff09; 第一种&#xff1a;tar.gz包安装 1、 查看是否已经安装 Mysql rpm -qa | grep m…...

用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制商业文案助手

随着智能助手的不断普及和发展,商业文案的创作也变得更加智能化和定制化。在这个信息爆炸的时代,商业文案的撰写已经不再是简单的文字表达,而是需要结合大数据分析和人工智能技术,以更好地满足目标客群的需求。在本文中,我们将介绍如何利用向量数据库Milvus Cloud搭建GPT大…...

智能体任务编排实战:基于DAG的自动化流程与生产级部署指南

1. 项目概述&#xff1a;从“Agent-Task”看智能体任务编排的实战价值最近在开源社区里&#xff0c;KwokKwok/agent-task 这个项目引起了我的注意。乍一看名字&#xff0c;你可能会觉得它又是一个关于AI智能体&#xff08;Agent&#xff09;的通用框架&#xff0c;但深入探究后…...

侧信道攻击揭秘:如何从硬件功耗逆向AI模型并生成对抗样本

1. 项目概述&#xff1a;当AI遇上硬件&#xff0c;安全边界在何处&#xff1f;最近几年&#xff0c;嵌入式AI设备&#xff0c;从智能门锁、摄像头到工业控制器&#xff0c;已经渗透到我们生活的方方面面。这些设备的核心&#xff0c;往往是一个经过训练的神经网络模型&#xff…...

llmware开源框架:企业级AI应用开发的RAG全流程解决方案

1. 项目概述&#xff1a;一个为构建企业级AI应用而生的开源框架如果你正在尝试将大语言模型&#xff08;LLM&#xff09;集成到你的业务系统中&#xff0c;无论是想做一个智能客服、一个文档分析工具&#xff0c;还是一个内部知识问答机器人&#xff0c;你大概率会遇到一系列令…...

AI算力治理:硬件级执行机制的技术原理与挑战

1. 项目概述&#xff1a;为什么我们需要关注AI算力治理&#xff1f;最近几年&#xff0c;AI模型的规模和能力呈指数级增长&#xff0c;从GPT-3到如今的GPT-4、Claude 3&#xff0c;其背后动辄是数万张高端AI加速卡&#xff08;如H100、A100&#xff09;连续运行数月的训练过程。…...

Python自动化掘金工具:自然语言驱动内容管理与爬虫实战

1. 项目概述&#xff1a;一个能听懂人话的掘金自动化工具如果你是一个技术社区的活跃创作者&#xff0c;或者是一个喜欢从掘金上“淘金”的学习者&#xff0c;那么下面这个场景你一定不陌生&#xff1a;想看看今天前端领域有什么新趋势&#xff0c;得手动打开掘金&#xff0c;点…...

如何用C语言解密网易云NCM音乐文件:实现跨平台音乐格式转换

如何用C语言解密网易云NCM音乐文件&#xff1a;实现跨平台音乐格式转换 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 你是否曾经在网易云音乐下载了VIP歌曲&#xff0c;却…...

生成式AI艺术审美:从技术原理到人机协作的评判框架

1. 项目概述&#xff1a;当AI拿起画笔&#xff0c;我们如何评判它的“美”&#xff1f;最近几年&#xff0c;生成式AI的爆发&#xff0c;让“人工智能创作”从一个科幻概念变成了我们每天都能刷到的现实。从Midjourney绘制的赛博朋克城市&#xff0c;到Stable Diffusion生成的古…...

脉冲神经网络与BriSe AI:构建具备自我感知与社会认知的类脑智能

1. 脉冲神经网络&#xff1a;从生物启发的计算模型到类脑智能的基石在人工智能领域&#xff0c;我们一直在寻找一种既能高效处理信息&#xff0c;又能在能耗和生物合理性上更接近人脑的模型。传统的人工神经网络&#xff08;ANN&#xff09;取得了巨大成功&#xff0c;但其连续…...

AI模型公平性挑战与缓解策略:从数据偏见到算法公正

1. 项目概述&#xff1a;当AI开始“看人下菜碟” 最近几年&#xff0c;AI模型在各个领域大放异彩&#xff0c;从筛选简历到审批贷款&#xff0c;从医疗诊断到司法量刑辅助&#xff0c;其决策的影响力日益深远。然而&#xff0c;一个幽灵正在AI的世界里徘徊——不公平的幽灵。你…...

开源项目DevCicdaQ/CursorVIPFeedback:构建结构化AI编程工具反馈系统

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“DevCicadaQ/CursorVIPFeedback”。光看名字&#xff0c;你可能觉得这又是一个关于某个IDE插件的反馈收集工具。但如果你深入了解一下&#xff0c;会发现它远不止于此。这个项目本质上是一个为“Curs…...