大数据-操作HDFS的基本命令

本文详细介绍了Hadoop分布式文件系统(HDFS)的基本操作方法,包括文件的上传、下载、移动、删除等常用命令的使用技巧,并提供了实际应用场景下的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导语
  安装完Hadoop之后下面就来看看如何使用HDFS

打印文件列表

标准写法

hadoop fs -ls hdfs:/    # hdfs:明确的说明是HDFS系统路径

简写

hadoop fs -ls /   # 默认是HDFS系统下的根目录

打印指定的子目录

 hadoop fs -ls /

上传文件、目录

put 的用法

上传新文件

hadoop fs -put file:/root/test.txt hdfs:/  # 上传本地的test.txt 到HDFS的根目录,HDFS根目录中必须不存在这个文件不然就会报错,文件已存在

hadoop fs -put /root/test.txt /test2.txt  # 上传并且重命名文件

上传文件夹

hadoop fs -put mypkg /newpkg # 上传并重命名文件夹

覆盖上传

hadoop fs -put -f /root/test.txt # 如果HDFS的目录中有同名的文件就会被覆盖

copyFromLocal 的用法

上传文件并重命名

hadoop -fs -copyFromLocal file:/test.txt hdfs:/test2.txt

覆盖上传

hadoop fs -copyFromLocal -f test.txt /test.txt

下载文件、目录

get 用法

拷贝文件到本地目录

hadoop fs -get hdfs:/test2.txt file:/root/

拷贝文件并重命名,可以简写

hadoop fs -get /test2.txt  /root/test0.txt

copyToLocal 用法

拷贝文件到本地目录

hadoop fs -copyToLocal hdfs:/test2.txt file:/root/

拷贝文件并重命名

hadoop fs -copyToLocal hdfs:/test2.txt file:/root/test21.txt

拷贝文件、目录

从本地拷贝到HDFS中,跟put类似

hadoop fs -cp  /root/test.txt hdfs:/

从HDFS 到HDFS

hadoop fs -cp  hdfs:/root/test.txt hdfs:/root/test1.txt

移动文件

hadoop fs -mv  hdfs:/root/test.txt hdfs:/

删除文件、目录

删除指定文件

hadoop fs -rm /a.txt

删除全部txt文件

hadoop fs -rm /*.txt

递归删除全部文件和目录

hadoop fs -rm -R /dir/

读取文件

hadoop fs -cat /test.txt
hadoop fs -tail /test.txt

创建空文件

hadoop fs - touchz /newfile.txt

创建文件夹

hadoop fs -mkdir /newdir /newdir2
hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3

获取逻辑空间大小

hadoop fs -du /
hadoop fs -du -h /
hadoop fs -du -s /
### 林子雨大数据实验二HDFS教程资料 #### HDFS基本操作命令介绍 在林子雨的大数据课程中,关于HDFS操作主要包括创建目录、检测路径是否存在以及删除文件等基础功能。具体实现方式如下: 对于判断并处理指定路径的情况,可以使用`if-else`语句配合`hdfs dfs -test`命令来完成。如果目标目录存在,则在其内部创建零长度文件;反之则先建立所需层次结构再创建该文件[^1]。 ```bash $ if $(hdfs dfs -test -d dir1/dir2); $ then $(hdfs dfs -touchz dir1/dir2/filename); $ else $(hdfs dfs -mkdir -p dir1/dir2 && hdfs dfs -touchz dir1/dir2/filename); $ fi ``` 当需要移除某个特定位置下的文件时,可直接调用`hdfs dfs -rm`指令加上相应参数即可。 ```bash $ hdfs dfs -rm dirl/dir2/filename ``` 上述代码片段展示了如何利用Shell脚本与HDFS交互来进行一些简单的文件系统管理任务,在实际应用过程中可以根据需求调整具体的路径名称和其他选项。 #### Spark程序读取HDFS中的文件实例 除了掌握这些基本HDFS命令外,学习者还可以通过编写Spark应用程序来进一步加深理解。下面给出了一段Scala编写的简单例子,它能够连接到本地运行的Hadoop集群,并统计给定文本文件内的行数[^2]。 ```scala /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf object SimpleApp { def main(args: Array[String]): Unit = { val logFile = "hdfs://localhost:9000/user/hadoop/test.txt" val conf = new SparkConf().setAppName("Simple Application") val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.count() println(s"The number of lines in the file is $numAs.") } } ``` 这段代码说明了怎样配置Spark环境并与远程存储服务进行通信,从而获取分布式文件系统的访问权限。这对于后续更复杂的分析工作来说是非常重要的技能之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值