Hadoop Shellコマンド

6481 ワード

1.FS Shell
  • ファイルシステム(FS)Shellコマンドを呼び出すにはbin/hadoop fsの形式を使用します.
  • すべてのFS shellコマンドはURIパスをパラメータとして使用します.URI形式はscheme://authority/path.
  • はHDFSファイルシステム、schemeはhdfs、ローカルファイルシステム、schemeはfileである.ここでschemeパラメータとauthorityパラメータはオプションで、指定を付けない場合は、構成で指定したデフォルトのschemeが使用されます.
  • HDFSファイルまたはディレクトリ、例えば/parent/childは、hdfs://namenode:namenodeport/parent/childまたはより簡単な/parent/childとして表すことができます(プロファイルのデフォルト値がnamenode:namenodeportであると仮定します).
  • FS Shellコマンドのほとんどの動作は、対応するUnix Shellコマンドと同様であり、異なる点は、以下で各コマンドの使用の詳細を説明する際に指摘される.エラー情報はstderrに出力され、他の情報はstdoutに出力されます.

  • cat
    使用方法:hadoop fs -cat URI [URI …]パス指定ファイルの内容をstdoutに出力します.例:
    
        hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
        hadoop fs -cat file:///file3 /user/hadoop/file4
        
    

    戻り値:0が正常に返され、-1が失敗しました.
    chgrp
    使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]ファイルが属するグループを変更します.-Rを使用すると、変更はディレクトリ構造の下で再帰的に行われます.コマンドの使用者は、ファイルの所有者またはスーパーユーザーである必要があります.詳細については、HDFSアクセス権ユーザーズガイドを参照してください.
    chmod
    使用方法:hadoop fs -chmod [-R] URI [URI …]ファイルの権限を変更します.-Rを使用すると、変更はディレクトリ構造の下で再帰的に行われます.コマンドの使用者は、ファイルの所有者またはスーパーユーザーである必要があります.詳細については、HDFSアクセス権ユーザーズガイドを参照してください.
    chown
    使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]ファイルの所有者を変更します.-Rを使用すると、変更はディレクトリ構造の下で再帰的に行われます.コマンドの使用者はスーパーユーザーでなければなりません.詳細については、HDFSアクセス権ユーザーズガイドを参照してください.
    copyFromLocal
    使用方法:hadoop fs -copyFromLocal URIソースパスがローカルファイルであることを制限する以外はputコマンドと似ています.
    copyToLocal
    使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI ターゲットパスがローカルファイルであることを制限する以外は、getコマンドと同様です.
    cp
    使用方法:hadoop fs -cp URI [URI …] ファイルをソースパスからターゲットパスにコピーします.このコマンドでは、ターゲットパスがディレクトリである必要がある複数のソースパスを許可します.
    例:
    hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
    hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
    

    戻り値:
    0が正常に返され、-1が失敗しました.
    du
    使用方法:hadoop fs -du URI [URI …]ディレクトリ内のすべてのファイルのサイズを表示するか、1つのファイルのみを指定した場合に表示します.
    例:hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
    戻り値:
    0が正常に返され、-1が失敗しました.
    dus
    使用方法:hadoop fs -dus ファイルのサイズを表示します.
    expunge
    使用方法:hadoop fs -expunge回収所を空にする.詳細については、HDFS設計ドキュメントを参照してください.
    get
    使用方法:hadoop fs -get [-ignorecrc] [-crc] ファイルをローカルファイルシステムにコピーします.-ignorecrcオプションを使用して、CRCチェックアウトに失敗したファイルをコピーできます.-crcオプションを使用して、ファイルおよびCRC情報をコピーします.
    例:
    hadoop fs -get /user/hadoop/file localfile
    hadoop fs -get hdfs://host:port/user/hadoop/file localfile
    

    戻り値:0が正常に返され、-1が失敗しました.
    getmerge
    使用方法:hadoop fs -getmerge [addnl]ソースディレクトリとターゲットファイルを入力として受け入れ、ソースディレクトリ内のすべてのファイルをコストターゲットファイルに接続します.addnlはオプションで、各ファイルの最後に改行を追加することを指定します.
    ls
    使用方法:hadoop fs -ls ファイルの場合は、次の形式でファイル情報を返します.
    ファイル名ファイルサイズ変更日変更時間権限ユーザIDグループID
    ディレクトリの場合は、Unixのように直接サブファイルのリストが返されます.ディレクトリが返すリストの情報は次のとおりです.
    ディレクトリ名変更日変更時間権限ユーザIDグループID
    例:
    hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile
    

    戻り値:0が正常に返され、-1が失敗しました.
    lsr
    使用方法:hadoop fs -lsr lsコマンドの再帰バージョン.Unixのls-Rに似ています.
    mkdir
    使用方法:hadoop fs -mkdir パスで指定したuriをパラメータとして受け入れ、これらのディレクトリを作成します.その動作はUnixのmkdir-pに似ており、パス内の各レベルの親ディレクトリが作成されます.例:
    hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
    hadoop fs -mkdir hdfs://host1:port1/user/hadoop/dir hdfs://host2:port2/user/hadoop/dir
    

    戻り値:0が正常に返され、-1が失敗しました.
    movefromLocal
    使用方法:dfs -moveFromLocal 「not implemented」情報を出力します.
    mv
    使用方法:hadoop fs -mv URI [URI …] ファイルをソースパスからターゲットパスに移動します.このコマンドでは、複数のソースパスを許可します.ターゲットパスはディレクトリである必要があります.異なるファイルシステム間でファイルを移動することは許可されません.
    例:
    hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
    hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1
    

    戻り値:0が正常に返され、-1が失敗しました.
    put
    使用方法:hadoop fs -put ... ローカルファイルシステムから1つ以上のソースパスをターゲットファイルシステムにコピーします.標準入力から入力を読み込んでターゲットファイルシステムに書き込むこともサポートされます.
     hadoop fs -put localfile /user/hadoop/hadoopfile
    hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
    hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
    hadoop fs -put - hdfs://host:port/hadoop/hadoopfile
    

    標準入力から入力を読み込みます.
    戻り値:0が正常に返され、-1が失敗しました.
    rm
    使用方法:hadoop fs -rm URI [URI …]指定したファイルを削除します.空でないディレクトリとファイルのみを削除します.rmrコマンドを参照して、再帰削除について説明してください.
    例:
    hadoop fs -rm hdfs://host:port/file /user/hadoop/emptydir
    

    戻り値:0が正常に返され、-1が失敗しました.
    rmr
    使用方法:hadoop fs -rmr URI [URI …]deleteの再帰バージョン.
    例:
    hadoop fs -rmr /user/hadoop/dir
    hadoop fs -rmr hdfs://host:port/user/hadoop/dir
    

    戻り値:0が正常に返され、-1が失敗しました.
    setrep
    使用方法:hadoop fs -setrep [-R] ファイルのコピー係数を変更します.-Rオプションを使用すると、ディレクトリ内のすべてのファイルのコピー係数を再帰的に変更できます.例:
    hadoop fs -setrep -w 3 -R /user/hadoop/dir1
    

    戻り値:
    0が正常に返され、-1が失敗しました.
    stat
    使用方法:hadoop fs -stat URI [URI …]指定したパスの統計を返します.例:
    hadoop fs -stat path
    

    戻り値:
    0が正常に返され、-1が失敗しました.
    tail
    使用方法:hadoop fs -tail [-f] URIファイルの末尾の1 Kバイトの内容をstdoutに出力します.-fオプションをサポートし、動作はUnixと一致します.例:
    hadoop fs -tail pathname
    

    戻り値:
    0が正常に返され、-1が失敗しました.
    test
    使用方法:hadoop fs -test -[ezd] URIオプション:
    -eファイルが存在するかどうかを確認します.存在する場合は0を返します.
    -zファイルが0バイトかどうかをチェックします.そうであれば0を返します.
    -dパスがディレクトリの場合は1を返し、そうでなければ0を返します.
    例:
    hadoop fs -test -e filename
    

    text
    使用方法:hadoop fs-text
    ソースファイルをテキスト形式で出力します.許可される形式はzipとTextRecordInputStreamです.
    touchz
    使用方法:hadoop fs -touchz URI [URI …]0バイトの空のファイルを作成します.例:
    hadoop -touchz pathname
    

    戻り値:
    0が正常に返され、-1が失敗しました.