hadoop单机hdfs读写操作
时间: 2025-05-11 22:25:30 浏览: 18
### Hadoop 单机模式下 HDFS 的读写操作
#### 1. HDFS 基本概念
HDFS 是一种分布式的文件系统,能够高效存储和管理超大数据集[^1]。它通过将数据分布在集群中的多台机器上实现高可用性和扩展性。
#### 2. 写入数据到 HDFS
为了向 HDFS 中写入数据,可以使用 `hadoop fs` 提供的相关命令。以下是常见的几种方式:
- **从本地文件上传至 HDFS**
可以使用 `-put` 或者 `-copyFromLocal` 将本地文件上传到 HDFS 上指定位置[^2]。
```bash
hadoop fs -put /path/to/local/file /path/in/hdfs/
```
- **从标准输入流写入 HDFS 文件**
如果希望直接从终端或其他程序的标准输出写入 HDFS,则可以通过管道或者特殊参数完成此操作。
```bash
echo "This is a test line." | hadoop fs -put - /path/in/hdfs/test.txt
```
#### 3. 读取 HDFS 数据
同样地,可以从 HDFS 下载文件到本地磁盘或查看其内容。
- **下载文件到本地**
使用 `-get` 或 `-copyToLocal` 把 HDFS 路径下的文件复制回本地环境。
```bash
hadoop fs -get /path/in/hdfs/ /local/path/
```
- **显示文件的内容**
利用 `-cat`, `-tail` 等工具可以直接打印部分或全部文件的数据给用户看。
```bash
hadoop fs -cat /path/in/hdfs/file.txt
```
#### 4. 完整流程实例
假设已经按照指南成功搭建好了一个单节点版本的 Hadoop 实验室环境[^3],下面给出完整的例子来展示如何执行基本的操作过程。
##### 创建目录并上传文件
先创建一个新的目录结构再把外部资源移进去保存起来。
```bash
# Create directory inside HDFS
hadoop fs -mkdir -p /user/example/input
# Upload file into the created folder
hadoop fs -put ./example_data.csv /user/example/input/
```
##### 查阅已存档的信息片段
确认刚才传上去的东西是否存在以及初步浏览一下前几行记录情况。
```bash
# List all files under input path
hadoop fs -ls /user/example/input/
# Preview first few lines of uploaded CSV data
hadoop fs -head /user/example/input/example_data.csv
```
##### 获取远程资料副本带回主机端分析
最后一步可能是想进一步研究这些数值特征所以得先把它们拉下来才行。
```bash
# Download processed dataset back to current working dir.
hadoop fs -get /user/example/output/part-r-00000 .
```
### 注意事项
确保每次运行上述指令之前都启动了必要的服务组件(NameNode 和 DataNodes),否则可能会遇到连接失败等问题。
阅读全文
相关推荐

















