Hadoop FS Shell cp

HadoopHadoopBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

欢迎来到神奇的嘉年华,在这里,非凡的魔术师准备展示 Hadoop HDFS 的奇妙之处,并运用 copy 技能。在这个迷人的场景中,魔术师将演示如何使用 Hadoop FS Shell 命令复制文件,为你的 Hadoop 技能之旅增添一抹魔法色彩。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("`Hadoop`")) -.-> hadoop/HadoopHDFSGroup(["`Hadoop HDFS`"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("`HDFS Setup`") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("`FS Shell ls`") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("`FS Shell mkdir`") hadoop/HadoopHDFSGroup -.-> hadoop/fs_cp("`FS Shell cp`") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-271866{{"`Hadoop FS Shell cp`"}} hadoop/fs_ls -.-> lab-271866{{"`Hadoop FS Shell cp`"}} hadoop/fs_mkdir -.-> lab-271866{{"`Hadoop FS Shell cp`"}} hadoop/fs_cp -.-> lab-271866{{"`Hadoop FS Shell cp`"}} end

使用 Hadoop FS Shell 复制文件

在这一步骤中,我们将学习如何使用 Hadoop FS Shell 的 cp 命令复制文件。

  1. 在终端中切换到 hadoop 用户:

    su - hadoop
  2. /home/hadoop 目录下创建一个名为 source.txt 的测试文件。执行以下命令:

    echo "This is a test file." > /home/hadoop/source.txt
  3. 现在,我们将本地文件 source.txt 复制到 HDFS 上的一个新目标文件 destination.txt。使用以下命令:

    hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txt
  4. 验证文件是否已成功复制。你可以列出 / 目录下的文件以确认。

    hdfs dfs -ls /

使用 Hadoop FS Shell 递归复制文件

在这一步骤中,我们将通过使用 Hadoop FS Shell 命令递归复制目录来提升文件复制技能。

  1. / 目录下创建一个名为 source_dir 的目录,并在 /source_dir/ 下创建一个名为 subdir 的子目录。执行以下命令:

    hdfs dfs -mkdir /source_dir
    hdfs dfs -mkdir /source_dir/subdir
  2. subdir 目录中放置一个名为 file1.txt 的测试文件。使用以下命令:

    echo "Contents of file1" > /home/hadoop/file1.txt
    hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/
  3. 将整个 source_dir 目录递归复制到一个名为 destination_dir 的新目标目录。尝试以下命令:

    hdfs dfs -cp /source_dir/ /destination_dir

当然!命令 hdfs dfs -cp /source_dir /destination_dir 包含以下部分:

  1. hdfs dfs -cp:这部分表示使用 Hadoop 分布式文件系统(HDFS)的 cp 命令,用于复制文件或目录。
  2. /source_dir/*:这表示源目录的路径。* 通配符匹配该目录下的所有文件和子目录。
  3. /destination_dir:这是目标目录的路径,你希望将文件复制到此处。

总结来说,此命令将 /source_dir 中的所有文件和子目录复制到 /destination_dir,同时保留文件的原始属性。

  1. 通过列出 destination_dir 目录的内容来验证递归复制是否成功。

    hdfs dfs -ls -R /destination_dir

总结

在本实验中,我们深入探索了 Hadoop HDFS 的奇妙世界,重点学习了 hdfs dfs -copyFromLocalhdfs dfs -copy 命令。通过创建引人入胜的场景并提供动手实践,本实验旨在增强你对 Hadoop 中文件复制操作的理解。请记住,熟能生巧,掌握这些技能将为你的 Hadoop 之旅赋能。

您可能感兴趣的其他 Hadoop 教程