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 回答