Java 获取从hdfs到servlet的文件/目录列表
我正在尝试用java创建一个web应用程序,它可以列出浏览器上的所有HDFS文件/目录 有人能告诉我怎么可能吗? 我试图从谷歌那里获得帮助,但我找不到任何方向。您可以使用HDFS Web UI(在ApacheJava 获取从hdfs到servlet的文件/目录列表,java,hadoop,servlets,hdfs,Java,Hadoop,Servlets,Hdfs,我正在尝试用java创建一个web应用程序,它可以列出浏览器上的所有HDFS文件/目录 有人能告诉我怎么可能吗? 我试图从谷歌那里获得帮助,但我找不到任何方向。您可以使用HDFS Web UI(在Apachehttp://namenodehost:50070) 不过,Hadoop HDFS也提供REST API,为HDFS提供完整的文件系统/文件上下文接口支持 让我们举一个例子,列出指定HDFS位置中的文件/目录 请求: curl -i "http://<HOST>:<POR
http://namenodehost:50070
)
不过,Hadoop HDFS也提供REST API,为HDFS提供完整的文件系统/文件上下文接口支持
让我们举一个例子,列出指定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"
},
...
]
}
}
您可以使用HDFS Web UI(在Apachehttp://namenodehost:50070
)
不过,Hadoop HDFS也提供REST API,为HDFS提供完整的文件系统/文件上下文接口支持
让我们举一个例子,列出指定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"
},
...
]
}
}
谢谢您的回复。我可以有任何教程来实现这一点吗?我不知道该如何使用它?您需要从servlet向namenode主机执行HTTP RESTful请求,然后读取JSON输出并构建您自己的UI。感谢您的响应。我可以有任何教程来实现这一点吗?我不知道该如何使用它?您需要从servlet向namenode主机执行HTTP RESTful请求,然后读取JSON输出并构建自己的UI。