一、什么是HDFS?
HDFS全称是Hadoop Distributed File System,简单来说,它就是一种分布式文件系统。它使用多台计算机来存储文件,对外提供统一的文件操作接口。Hadoop就是用HDFS来存储数据的。
二、HDFS用来干啥的?
HDFS主要用于大规模数据的分布式读写,尤其是在读多写少的场景下。比如,你需要存储非常大的文件,对延时没有要求,或者数据集经常从数据源生成或者拷贝,然后进行很多分析工作,这些场景下HDFS就非常适用。
三、HDFS适用场景
存储非常大的文件,对延时没有要求。
一次写入,多次读取。数据集经常从数据源生成或者拷贝,然后做很多分析工作。
四、HDFS不适合的场景
对延时有要求。
多方读写。
五、HDFS架构
HDFS采用主/从体系结构,主要由HDFS Client、NameNode、DataNode和Secondary NameNode组成。
基本概念
NameNode:管理文件系统的命名空间、目录结构树以及元数据信息。
DataNode:存储文件的实际数据块。
Secondary NameNode:定期合并FsImage和EditsLog,生成新的FsImage文件,降低NameNode的压力。
六、HDFS基础命令
hdfs dfs -ls:列出根目录下文件列表
hdfs dfs -mkdir:创建目录
hdfs dfs -rm -r -f:删除目录
hdfs dfs -put:将本地文件拷贝到HDFS内
hdfs dfs -get:将HDFS中的文件拷贝到本地
hdfs dfs -mv:将HDFS的文件移动到目标路径
hdfs dfs -rm:删除文件或目录
hdfs dfs -cp:将文件拷贝到目标路径
hdfs dfs -cat:显示文件内容
hdfs dfs -text:查看文件内容,支持压缩文件的查看而不会乱码
hdfs dfs -find:从根目录下精确搜索文件
hdfs dfs -count:对目录进行统计
hdfs dfs -chmod:改变文件权限
hdfs dfs -chown:改变文件所属用户和用户组
hdfs dfs -appendToFile:合并本地文件拷贝至HDFS七、HDFS业务中应用
在实际业务中,HDFS常用于全量输入写入文件供第三方业务线读取,或者同步到hive表供后续业务继续加工。
想要了解更多关于HDFS的知识,欢迎关注「思享编程网」(www.sxgpb.com),我是陆砚码,我们下期再见!
