我正在尝试在java中创建一个Web应用程序,它可以列出浏览器上的所有HDFS文件/目录。
有谁能建议我怎么可能? 我试图从谷歌获得帮助,但我无法找到任何方向。
答案 0 :(得分:0)
您可以使用HDFS Web UI(在Apache http://namenodehost:50070
中)。
然而,Hadoop HDFS还提供REST apis,为HDFS完成FileSystem / FileContext接口提供支持。
让我们举一个例子来列出指定HDFS位置的文件/目录
请求:强>
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=LISTSTATUS"
<强>响应:强>
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 427
{
"FileStatuses":
{
"FileStatus":
[
{
"accessTime" : 1320171722771,
"blockSize" : 33554432,
"group" : "supergroup",
"length" : 24930,
"modificationTime": 1320171722771,
"owner" : "webuser",
"pathSuffix" : "a.patch",
"permission" : "644",
"replication" : 1,
"type" : "FILE"
},
{
"accessTime" : 0,
"blockSize" : 0,
"group" : "supergroup",
"length" : 0,
"modificationTime": 1320895981256,
"owner" : "szetszwo",
"pathSuffix" : "bar",
"permission" : "711",
"replication" : 0,
"type" : "DIRECTORY"
},
...
]
}
}