有谁知道如何在hdfs中获取块的原始文件名?我正在尝试编写一个BlockReplacementPolicy。在第一次写入文件时,我可以使用srcPath参数来获取文件名。但是,当复制块再次被复制时,我相信srcPath不会解决我的问题。
你知道我可以使用哪个类来获取块(和/或块集合)的文件名吗?
提前多多感谢!
答案 0 :(得分:0)
HDFS中的BlockManager
服务与块所属的文件无关。据我所知,没有BlockID
- >的反向映射。 INode
因为HDFS的体系结构从未需要它,并且仅为了一些特殊目的而维护起来很昂贵。
您可能需要自己构建此映射,作为内部或外部服务;例如,作为一个程序,定期对持久化的fsimage
文件进行反向索引并为其提供服务。