如何用hadoop打印文件树?

我是HDFS和* nix中的一只新鸟,我只是好奇,如何在hadoop中打印文件树?

例如,我们可以在任何* nix系统中键入“tree”,并给出如下结果:

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

这是非常清楚的输出,但由于HDFS不完全符合POSIX,所以我不知道如何在hadoop中打印。

基于http://en.wikipedia.org/wiki/Tree_(Unix),你可以拿出一个像代表性的树,例如:

 hadoop fs -lsr /mydir | awk '{print $8}' | \ sed -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' 

刚刚创建了一个简单的项目,完全是这样的: http : //github.com/trovit/hdfstree

从技术上讲,如果你真的想要这样做(尽管除了调试/可视化/娱乐目的,除了调试/可视化/娱乐之外,我不知道为什么要这么做),你可以使用保险丝来挂载HDFS作为正常的文件系统 。 这会给你一个目录,你可以运行你最喜欢的“树”可视化器或任何你习惯于正常的文件系统。