HDFS的使用操作

本文详细介绍HDFS文件系统的常用操作命令,包括目录创建、文件上传下载、查看及删除等,帮助读者快速掌握HDFS的基本使用。

前面系统的介绍过HDFS文件系统,接下来介绍的是如何使用HDFS文件系统:

HDFS文件系统也是建立在linux上的一种文件系统,所以它和linux的文件系统使用方法大致相同下面是HDFS文件系统的基本使用命令:

        查看文档:

bin/hdfs dfs

        创建目录:            

bin/hdfs dfs -mkdir -p /datas/mapreduce/input

        查看目录:

 bin/hdfs dfs -ls /datas/mapreduce

        当然查看目录也可以在 webUI 端口上查看 
        上传文件:

 bin/hdfs dfs -put /opt/datas/input.data /datas/mapreduce/input/

        查看文件:           

bin/hdfs dfs -text /datas/mapreduce/input/input.data 

        删除文件:

bin/hdfs dfs -rm -r -f /datas/mapreduce/input/input.dat

        下载文件:

   bin/hdfs dfs -get XX  XX

以上就是HDFS文件系统的一些常用的使用方法(下载文件,是从HDFS上将文件下载到linux上;对应的上传文件是将文件从linux上传到HDFS上)

 

 

 

 

 

### 使用 Python 操作 HDFS #### 方法一:`pyhdfs` `pyhdfs` 是一个用于与 HDFS 进行交互的轻量级库。它支持基本文件操作,如读取、写入和删除文件。 安装 `pyhdfs` 可以通过 pip 完成: ```bash pip install pyhdfs ``` 以下是使用 `pyhdfs` 的示例代码: 创建连接并列出根目录下的内容: ```python import pyhdfs fs = pyhdfs.HdfsClient(hosts='localhost:9870', user_name='hadoop') print(fs.listdir('/')) ``` 上本地文件HDFS 并下载文件回本地: ```python fs.copy_from_local('local_file.txt', '/remote_file.txt') # 将本地文件复制到 HDFS fs.copy_to_local('/remote_file.txt', 'downloaded_file.txt') # 从 HDFS 下载文件到本地 ``` 删除文件或目录: ```python fs.delete('/remote_file.txt') # 删除单个文件 fs.delete('/directory_path', recursive=True) # 删除整个目录及其子项 ``` #### 方法二:`hdfs3` `hdfs3` 提供了一个更现代化的方式与 HDFS 交互,并且兼容 PyArrow 和其他大数据工具。 安装 `hdfs3` 同样可以通过 pip 实现: ```bash pip install hdfs3 ``` 下面是使用 `hdfs3` 的示例代码: 建立连接并与 HDFS 进行交互: ```python from hdfs3 import HDFileSystem hdfs = HDFileSystem(host='localhost', port=9870) # 列出根目录的内容 print(hdfs.ls('/')) # 创建新目录 hdfs.mkdir('/new_directory') # 写入数据到 HDFS 文件 with hdfs.open('/example.txt', 'wb') as f: f.write(b'Hello, HDFS!') # 从 HDFS 中读取数据 with hdfs.open('/example.txt', 'rb') as f: content = f.read() print(content.decode()) ``` 对于权限管理问题,在虚拟机环境中可以先调整 HDFS 权限以便于测试[^1]: ```bash hadoop fs -chmod -R 777 / ``` 随后可以在 Python 脚本中验证权限更改的效果: ```python import pyhdfs fs = pyhdfs.HdfsClient(hosts='localhost:9870', user_name='hadoop') fs.makedirs('/test') # 测试是否能成功创建目录 directories = fs.list('/') print(directories) # 输出应包含 'test' ``` 以上两种方式均提供了灵活的操作接口来满足不同场景的需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值