Hadoop を操作する際によく使うコマンドを整理してまとめました。
ジョブ関連
Hadoop のジョブを一覧表示する
$ yarn application -list
Hadoop のジョブを強制終了する
$ yarn application -kill ${application_id}
queue を変更する
$ yarn application -movetoqueue ${application_id} -queue ${queue_name}
HDFS ディレクトリ操作
HDFS のディレクトリの中身を確認する
$ hadoop fs -ls /tmp/some_dir
HDFS のディレクトリを削除する
$ hadoop fs -rm -r /tmp/some_dir
HDFS にディレクトリを作成する
$ hadoop fs -mkdir /tmp/some_dir
HDFS ファイル操作
HDFS にローカルのファイルを置く
$ hadoop fs -put /home/user/some.tsv /tmp/some_dir/rawdata.tsv
HDFS の中身を表示する
$ hadoop fs -cat /tmp/some_dir/rawdata.tsv
HDFS の中身をローカルに吐き出す
HDFS に TSV で格納した場合。
$ hadoop fs -cat /tmp/some_dir/part-* > /home/user/some.tsv
HDFS のファイルサイズを確認する
$ hadoop fs -du -h -s /tmp/some_dir
管理
Hadoop の空き容量を見る
$ hadoop fs -df -h
Filesystem Size Used Available Use%
hdfs://tfh 10 T 8.0 T 2.0 T 80%
便利コマンド
日付パーティションで分割したHDFSの件数を見る
- ls | awk でファイル名を抜き出し,cat | cut | wc -l で件数を見る
$ hadoop fs -ls '/tmp/some_dir/2019/06' | awk 'NR>1 {print $8}' | xargs -L 1 -P 1 bash -c 'echo $0;hadoop fs -cat $0"/part-*" | cut -f1 | wc -l'