はじめに
魔法のカーニバルへようこそ。ここでは、非凡な魔法使いが「コピー」というスキルを駆使して、Hadoop の HDFS の不思議を披露します。この魅力的なシナリオでは、魔法使いは Hadoop FS Shell コマンドを使ってファイルをコピーする方法を示すことを目指しており、あなたの Hadoop スキルの旅に魔法の雰囲気を醸し出します。
魔法のカーニバルへようこそ。ここでは、非凡な魔法使いが「コピー」というスキルを駆使して、Hadoop の HDFS の不思議を披露します。この魅力的なシナリオでは、魔法使いは Hadoop FS Shell コマンドを使ってファイルをコピーする方法を示すことを目指しており、あなたの Hadoop スキルの旅に魔法の雰囲気を醸し出します。
このステップでは、FS Shell の cp コマンドを使って Hadoop でファイルをコピーする方法を学びます。
ターミナルで 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
この実験では、hdfs dfs -copyFromLocal コマンドと hdfs dfs -copy コマンドに焦点を当てて、Hadoop HDFS の魔法の世界を探求しました。魅力的なシナリオを作成し、実践的な練習を提供することで、この実験は Hadoop でのファイルコピー操作の理解を深めることを目的としています。覚えておいてください、練習が磨きになり、これらのスキルを習得することで、あなたの Hadoop の旅で力を得ることができます。