介绍
欢迎来到神奇的嘉年华,在这里,非凡的魔术师准备展示 Hadoop HDFS 的奇妙之处,并运用 copy
技能。在这个迷人的场景中,魔术师将演示如何使用 Hadoop FS Shell 命令复制文件,为你的 Hadoop 技能之旅增添一抹魔法色彩。
欢迎来到神奇的嘉年华,在这里,非凡的魔术师准备展示 Hadoop HDFS 的奇妙之处,并运用 copy
技能。在这个迷人的场景中,魔术师将演示如何使用 Hadoop FS Shell 命令复制文件,为你的 Hadoop 技能之旅增添一抹魔法色彩。
在这一步骤中,我们将学习如何使用 Hadoop FS Shell 的 cp
命令复制文件。
在终端中切换到 hadoop
用户:
su - hadoop
在 /home/hadoop
目录下创建一个名为 source.txt
的测试文件。执行以下命令:
echo "This is a test file." > /home/hadoop/source.txt
现在,我们将本地文件 source.txt
复制到 HDFS 上的一个新目标文件 destination.txt
。使用以下命令:
hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txt
验证文件是否已成功复制。你可以列出 /
目录下的文件以确认。
hdfs dfs -ls /
在这一步骤中,我们将通过使用 Hadoop FS Shell 命令递归复制目录来提升文件复制技能。
在 /
目录下创建一个名为 source_dir
的目录,并在 /source_dir/
下创建一个名为 subdir
的子目录。执行以下命令:
hdfs dfs -mkdir /source_dir
hdfs dfs -mkdir /source_dir/subdir
在 subdir
目录中放置一个名为 file1.txt
的测试文件。使用以下命令:
echo "Contents of file1" > /home/hadoop/file1.txt
hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/
将整个 source_dir
目录递归复制到一个名为 destination_dir
的新目标目录。尝试以下命令:
hdfs dfs -cp /source_dir/ /destination_dir
当然!命令 hdfs dfs -cp /source_dir /destination_dir
包含以下部分:
hdfs dfs -cp
:这部分表示使用 Hadoop 分布式文件系统(HDFS)的 cp
命令,用于复制文件或目录。/source_dir/*
:这表示源目录的路径。*
通配符匹配该目录下的所有文件和子目录。/destination_dir
:这是目标目录的路径,你希望将文件复制到此处。总结来说,此命令将 /source_dir
中的所有文件和子目录复制到 /destination_dir
,同时保留文件的原始属性。
通过列出 destination_dir
目录的内容来验证递归复制是否成功。
hdfs dfs -ls -R /destination_dir
在本实验中,我们深入探索了 Hadoop HDFS 的奇妙世界,重点学习了 hdfs dfs -copyFromLocal
和 hdfs dfs -copy
命令。通过创建引人入胜的场景并提供动手实践,本实验旨在增强你对 Hadoop 中文件复制操作的理解。请记住,熟能生巧,掌握这些技能将为你的 Hadoop 之旅赋能。