大数据分析之HDFS文件系统的操作

大数据分析之HDFS文件系统的操作
最新回答
泽城美雪

2026-10-26 01:04:47

HDFS(Hadoop Distributed File System)是一个分布式文件系统,允许用户通过Shell命令进行文件操作,其命令大多与Unix命令类似。以下是HDFS文件系统的常见操作及示例:

一、启动HDFS

在master节点终端执行以下命令启动HDFS,并通过jps检查进程是否启动:

start-dfs.shjps

启动过程如下图所示:

二、目录操作
  • 创建目录:

    一级一级创建目录(父目录不存在会报错):

    hdfs dfs -mkdir /userhdfs dfs -mkdir /user/hduser

    使用-p参数自动创建父目录:

    hdfs dfs -mkdir -p /user/hduser
  • 查看目录:

    列出用户主目录内容:

    hdfs dfs -ls

    列出根目录内容:

    hdfs dfs -ls /

    递归列出所有目录:

    hdfs dfs -ls -R /
三、文件操作
  • 读取文件:

    hdfs dfs -cat /user/hduser/fib.csv
  • 修改权限与属主:

    递归修改目录权限为755(所有者可读、写、执行,组和其他可读、执行):

    hdfs dfs -chmod -R 755 /user/hduser

    修改目录属主为hduser:

    hdfs dfs -chown hduser /user/hduser
四、文件上传与下载
  • 上传文件:

    上传本地文件到HDFS目录(目录需存在):

    hdfs dfs -put readme.txt inputhdfs dfs -copyFromLocal readme.txt input

    上传本地文件夹到HDFS:

    hdfs dfs -copyFromLocal wc-input .hdfs dfs -copyFromLocal wc-input input/wc-input
  • 从键盘输入到HDFS:

    hdfs dfs -put - <hdfs_file>

    按Ctrl+D结束输入,目标文件不能存在。

  • 移动本地文件到HDFS:

    hdfs dfs -moveFromLocal <local_src> <hdfs_dst>

    执行后本地文件会被删除。

  • 下载文件到本地:

    下载单个文件(本地文件名不能与HDFS文件名相同):

    hdfs dfs -get <hdfs_file> <local_file_or_dir>

    下载多个文件或目录到本地文件夹:

    hdfs dfs -get <hdfs_file_or_dir> ... <local_dir>
  • 复制文件到本地(与get类似):

    hdfs dfs -copyToLocal <hdfs_src> <local_dst>
五、文件删除与移动
  • 删除文件或目录:

    删除文件:

    hdfs dfs -rm <hdfs_file>

    递归删除目录:

    hdfs dfs -rm -r <hdfs_dir>
  • 复制文件:

    重命名文件(目标文件不能存在):

    hdfs dfs -cp <hdfs_file> <new_hdfs_file>

    复制文件到目录(目标目录需存在):

    hdfs dfs -cp <hdfs_file_or_dir> ... <hdfs_dir>
  • 移动文件:

    移动文件到目录(目标文件不能存在):

    hdfs dfs -mv <hdfs_file> <hdfs_dir>

    移动多个文件或目录到目标目录(目标路径必须为目录且存在):

    hdfs dfs -mv <hdfs_file_or_dir> ... <hdfs_dir>

    注意:跨文件系统移动(如本地到HDFS或反之)不允许。

六、统计与查看
  • 统计路径信息:

    hdfs dfs -count <hdfs_path>

    输出格式:目录个数、文件个数、文件总大小、路径。

  • 查看文件尾部内容:

    hdfs dfs -tail <hdfs_file>
七、管理员命令

通过hdfs dfsadmin管理HDFS:

  • 查看帮助:hdfs dfsadmin -help
  • 显示文件系统报告:hdfs dfsadmin -report
  • 安全模式操作:hdfs dfsadmin -safemode <enter|leave|get|wait>

    enter:进入安全模式;

    leave:离开安全模式;

    get:查询安全模式状态;

    wait:等待离开安全模式。

八、操作示例图示
  • HDFS操作界面示例:

  • CDA小程序界面:

通过以上命令,用户可以高效完成HDFS文件系统的创建、上传、下载、删除等操作,满足大数据分析中的存储需求。