9

私は HDFS と *nix の新しい鳥です。ただ興味があります。hadoop でファイル ツリーを出力する方法を教えてください。

たとえば、任意の *nix システムで「tree」と入力すると、次のような結果が得られます。

[admin~]$tree
.
├── backup_snapshot.sh
├── project
│   ├── doc
│   │   └── README
│   ├── src
....

これは非常に明確に出力されますが、HDFS は POSIX に完全に準拠していないため、hadoop で出力する方法がわかりません。

4

3 に答える 3

22

http://en.wikipedia.org/wiki/Tree_(Unix)に基づいて、ツリーのような表現を考え出すことができます。

hadoop fs -lsr /mydir | awk '{print $8}' | \
sed -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
于 2013-01-29T20:49:07.400 に答える
3

まさにこれを行う単純なプロジェクトを作成しました: http://github.com/trovit/hdfstree

于 2013-07-24T06:49:10.110 に答える
0

技術的には、本当にそれが必要な場合(ただし、デバッグ/視覚化/エンターテイメントの目的を除いて、なぜそうしたいのかわかりません)、fuse を使用して HDFS を通常のファイルシステムとしてマウントできます- 利用可能な実装がいくつかあります。これにより、お気に入りの「ツリー」ビジュアライザーまたは通常のファイルシステムで慣れているものを実行できるディレクトリが得られます。

于 2013-01-27T06:58:26.023 に答える