Hadoop FS Shell find

HadoopHadoopBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Hadoop HDFSの世界に深く突き入り、FS Shellのfindコマンドに焦点を当てます。古代の寺院を探索して秘宝や秘密を探す考古学者のように自分自身を想像してください。あなたの目標は、寺院で隠された遺物を発見するのと同じように、FS Shellのfindコマンドを使って膨大な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_put("FS Shell copyToLocal/put") hadoop/HadoopHDFSGroup -.-> hadoop/fs_chmod("FS Shell chmod") hadoop/HadoopHDFSGroup -.-> hadoop/fs_find("FS Shell find") hadoop/HadoopHDFSGroup -.-> hadoop/fs_stat("FS Shell stat") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_ls -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_mkdir -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_put -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_chmod -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_find -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_stat -.-> lab-271870{{"Hadoop FS Shell find"}} end

環境設定

このステップでは、FS Shellのfindコマンドを使用する前に、Hadoop環境が適切に設定されていることを確認します。

ターミナルを開き、以下の手順に従って始めましょう。

  1. hadoop ユーザーに切り替えます。

    su - hadoop
  2. Hadoopのバージョンを確認します。

    hadoop version
  3. HDFSのルートディレクトリに example.txt ファイルを作成します。

    echo "This is an example file." | hdfs dfs -put - /example.txt

ファイル情報の取得

このステップでは、Hadoopファイルシステム内の特定のファイルを見つけるためにFS Shellのfindコマンドをどのように使用するかを示します。

  1. HDFSのルートディレクトリ内で example.txt という名前のファイルを検索します。

    hdfs dfs -find / -name "example.txt"
  2. FS Shellのstatコマンドを使用してファイルの情報を取得します。

    hdfs dfs -stat "%n %y %r" /example.txt > /home/hadoop/example_info.txt
    cat /home/hadoop/example_info.txt

hdfs dfs -stat コマンドは、HDFS内のファイルまたはディレクトリのステータス情報を取得するために使用されます。出力情報をカスタマイズするために、さまざまなフォーマットオプションを使用できます。以下は、一般的に使用されるフォーマットオプションとその意味です。

  • %b:バイト単位のファイルサイズ。
  • %n:ファイル名。
  • %o:ブロックサイズ。
  • %r:レプリケーションファクター。
  • %u:ユーザー名。
  • %g:グループ名。
  • %y:yyyy-MM-dd HH:mm:ss形式の変更日時。
  • %F:ファイルタイプ(ファイル、ディレクトリ、またはシンボリックリンク)。

ディレクトリの分析

このステップでは、FS Shellのfindを使用してディレクトリとその内容を分析する方法を探ります。

  1. /user ディレクトリ以下のすべてのディレクトリを一覧表示します。

    hdfs dfs -ls /user
  2. /user ディレクトリ以下に superDirectory という名前のディレクトリを作成し、そのパーミッションを777 (rwxrwxrwx) に設定します。

    hdfs dfs -mkdir /user/superDirectory
    hdfs dfs -chmod 777 /user/superDirectory
  3. FS Shellのfindを使用して superDirectory を見つけます。

    hdfs dfs -find /user -name "superDirectory"
  4. FS Shellを使用して特定のパーミッションを持つディレクトリを特定します。

    hdfs dfs -ls /user | grep '^drwxrwxrwx'

まとめ

この実験では、Hadoop HDFSの世界に浸り、FS Shellのfindコマンドの機能を探りました。寺院での考古学的探検をシミュレートすることで、Hadoopファイルシステム内のファイルやディレクトリを効果的に検索し分析する方法を学びました。この実践的な経験は、Hadoopにおける複雑なデータ構造の管理とナビゲーションに関する洞察を提供し、HDFS操作の理解を深めました。