MapReduce编程中FileSystem接口——HDFS的基本使用

2023-05-16

基本的HDFS操作,在linux总通过hadoop fs -help可以获取所有的命令详细帮助文件。

Java抽象类org.apache.hadoop.fs.FileSystem定义了hadoop的一个文件系统接口。Hadoop中关于文件操作类基本上全部是在"org.apache.hadoop.fs"包中,这些API能够支持的操作包含:打开文件,读写文件,删除文件等。

Hadoop类库中最终面向用户提供的接口类是FileSystem,该类是个抽象类,只能通过来类的get方法得到具体类。

HDFS中路径类都是Path,输入Dir需要加一层封装

new Path(Dir)

目录

一、构造方法(生成fs)

二、具体实现方法

1. HDFS文件上传,将本地文件上传到HDFS

2. HDFS文件下载,将HDFS文件下载到本地

3. 检查文件或目录是否存在

4. HDFS文件删除

5. HDFS文件重命名

6. 一次性新建所有目录(包括父目录),f是完整的目录路径

7. 在HDFS上创建文件,f为文件的完整路径

8. 查看HDFS文件的最后修改时间

9. 读取HDFS某个目录下所有文件

参考文档


一、构造方法

以下两种静态工厂方法可以获取FileSystem的实例

uri是HDFS的uri,例如new URI("hdfs://hadoop102:9000")

public staticFileSystem.get(Configuration conf) throws IOException

public staticFileSystem.get(URI uri, Configuration conf) throws IOException

二、具体实现方法

1. HDFS文件上传,将本地文件上传到HDFS

public void copyFromLocalFile(Path src, Path dst) throws IOException

2. HDFS文件下载,将HDFS文件下载到本地

参数1:是否将HDFS上原文件删除

参数2:HDFS文件路径

参数3:需要将文件下载到的目的路径

参数4:是否开启文件校验

public void copyToLocalFile(boolean delSrc, Path src, Path dst, boolean useRawLocalFileSystem) throws IOException

3. 检查文件或目录是否存在

public boolean exists(Path f) throws IOException

4. HDFS文件删除

f为需要删除文件的完整路径,recuresive用来确定是否进行递归删除

public boolean delete(Path f,Boolean recursive) throws IOException

5. HDFS文件重命名

FileSystem.rename(Path src,Path dst)

6. 一次性新建所有目录(包括父目录),f是完整的目录路径

FileSystem.mkdirs(Path f)

7. 在HDFS上创建文件,f为文件的完整路径

FileSystem.create(Path f)

8. 查看HDFS文件的最后修改时间

FileSystem.getModificationTime()

9. 读取HDFS某个目录下所有文件

FileStatus[] listStatus = fs.listStatus(new Path("Dir路径"));
listStatus.getPath()

参考文档

Hadoop之HDFS的FileSystem接口详解-hdfs的基本使用

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MapReduce编程中FileSystem接口——HDFS的基本使用 的相关文章

  • 驱动——LED灯循环闪烁

    使用结构体形式对寄存器地址进行映射 xff0c 实现3盏LED灯的循环点亮 1 创建LED灯点亮所需要的GPIO寄存器的结构体 xff0c 并对寄存器地址进行宏定义 2 通过ioremap函数将物理地址映射为虚拟地址 void iorema
  • ubuntu CA安装 证书申请

    1 安装 xff1a apt get install openssl 2 修改配置文件 xff1a 注意不同于网上 xff0c 位置在 xff1a usr lib ssl openssl cnf xff0c 将以下项改为自己的位置 dir
  • URL后面#号的问题

    一 的涵义 代表网页中的一个位置 其右面的字符 xff0c 就是该位置的标识符 比如 xff0c http www example com index html print 就代表网页index html的print位置 浏览器读取这个UR
  • Swift-UIView的创建和使用

    创建 View let view1 61 UIView let view2 61 UIView frame CGRectMake 20 120 100 100 let view3 61 UIView frame CGRectMake 40
  • kali 运行apktool 报错解决方法

    问题描述 xff1a 系统 xff1a kali 1 9 apktool d 123 apk test Input file 123 apk was not found or was not readable 问题解决方法 xff1a 方法
  • pip安装换清华源

    用python的pip安装时有些包安装的太慢了 解决的方法是 xff1a 换成清华源 pip install 要安装的包 i https pypi tuna tsinghua edu cn simple 或者直接替换下载源设置清华源 pip
  • 操作无法完成,因为该文件已在system中打开

    根据提示 xff0c 我们主要的任务是在system xff08 系统 xff09 中将这个文件关闭 1 打开 任务管理器 方法一 xff1a 快捷键 xff1a ctrl 43 shift 43 esc 方法二 xff1a 右击任务栏底部
  • 在CentOS7上安装和配置Node.js

    本文介绍如何在CSDN云主机实例上搭建Node js环境 Node js 是一个基于 Chrome 的 JavaScript 运行时环境构建的开源平台 xff0c 可帮助开发人员构建快速且可扩展的网络应用程序 它在 V8 引擎上运行 xff
  • C++ 输出cout

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • k8s集群部署单节点gitlab

    k8s集群部署单节点gitlab k8s集群部署单节点gitlab前言gitlab redis yamlgitlab postgresql yamlgitlab server yaml安装结果 k8s集群部署单节点gitlab 前言 前提准
  • win10下Anaconda的安装和配置

    第一步 xff0c 下载anaconda 这是anaconda官网地址 xff0c 点击下载即可 xff1a anaconda官网 第二步 xff1a 安装anaconda 点击下载好的 exe安装包 xff0c 双击安装即可 xff1a
  • pip指定包安装目录

    文章目录 pip install t target dir pandas 设置 pip 默认安装路径 找到 Anaconda home envs py36 Lib site py USER SITE span class token ope
  • 利用VS Code docker 搭建容器开发环境(含WSL2)

    目录 基本软件安装VScode 插件安装连接WSL2及容器linux代码编译查看源码 xff0c 调试linux kernel总结补充学习busyboxvmware真香 这篇文章的灵感来源 感谢UP xff0c 我才有了WSL2 vscod
  • Linux用户和用户组管理

    此博客仅当学习笔记 xff0c 所有内容均参考C语言中文网 xff0c 望支持正版 xff0c 至C语言中文网查看详细内容 用户和用户组管理 xff0c 顾名思义就是添加用户和用户组 更改密码和设定权限等操作 可能有很多人觉得用户管理没有意
  • CCF-炉石传说

    这题原本想的比较复杂 xff0c 因为每次召唤随从或随从死亡时都要对右边的随从编号进行变动 xff0c 然后构建了链表的数据结构 xff0c 但是越写越复杂 xff0c 所以马上放弃这个思路 其实只要构建一个结构体 xff0c 结构体保存随
  • 宝塔面板开启数据库远程登陆权限

    宝塔面板开启数据库远程登陆权限 默认情况下宝塔面板创建的mysql数据库是本地登陆权限 xff0c 如果要远程管理操作需要单独开启权限 xff0c 具体操作如下 xff1a 1 登陆宝塔面板 xff0c 点击 安全 xff0c 在防火墙里面
  • 重参数化技巧:高斯分布采样

    1 高斯分布采样 我们现在得到了有样本X得到的分布X N mu sigma 2 xff0c 通过采样我们得到确定的隐变量向量 xff0c 从而作为解码器
  • 微擎系统安装流程

    虚拟主机安装微擎系统流程 推荐环境 linux 43 php5 6及以上 43 mysql5 6及以上 如果您购买的主机开通的是windows系统 请先更换成linux系统 如果是虚拟主机 在主机面板 php版本页面选择php7 0 从官网
  • 部署https后浏览器提示不安全,不出现绿色小锁?

    网站部署https后 浏览器提示不安全 不出现绿色小锁图标 访问网站后 按f12 浏览器提示 Mixed Content The page at 39 https www xxx com 39 39 was loaded over HTTP
  • linux系统变为只读出现提示Read-only file system的解决办法

    问题描述 linux系统变为只读 出现提示Read only file system 如图所示 问题原因 系统没有正常关机 导致虚拟磁盘出现文件系统错误 说明 此修复可能会导致个别文件及数据丢失 修复之前建议做好文件备份工作 解决方法 使用

随机推荐