我是HDFS和* nix中的新鸟,我只是好奇,如何在hadoop中打印文件树?
例如,我们可以在任何* nix系统中键入“tree”,并给我们一个类似的结果:[admin~]$tree
.
├── backup_snapshot.sh
├── project
│ ├── doc
│ │ └── README
│ ├── src
....
输出非常清楚,但由于HDFS不完全符合POSIX标准,所以我不知道如何在hadoop中打印它。
答案 0 :(得分:14)
基于http://en.wikipedia.org/wiki/Tree_(Unix),您可以提出类似于树的表示,例如:
hadoop fs -lsr /mydir | awk '{print $8}' | \
sed -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
答案 1 :(得分:2)
刚刚创建了一个简单的项目:http://github.com/trovit/hdfstree
答案 2 :(得分:0)
从技术上讲,如果你真的想要那个(虽然我不知道你为什么要这样做,除了调试/可视化/娱乐目的),你可以mount HDFS as normal filesystem using fuse - 有一些实现可用。这将为您提供一个目录,您可以运行您喜欢的“树”可视化工具或您习惯使用的普通文件系统。