Java 获取从hdfs到servlet的文件/目录列表

Java 获取从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

我正在尝试用java创建一个web应用程序,它可以列出浏览器上的所有HDFS文件/目录

有人能告诉我怎么可能吗? 我试图从谷歌那里获得帮助,但我找不到任何方向。

您可以使用HDFS Web UI(在Apache
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(在Apache
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"
      },
      ...
    ]
  }
}

谢谢您的回复。我可以有任何教程来实现这一点吗?我不知道该如何使用它?您需要从servlet向namenode主机执行HTTP RESTful请求,然后读取JSON输出并构建您自己的UI。感谢您的响应。我可以有任何教程来实现这一点吗?我不知道该如何使用它?您需要从servlet向namenode主机执行HTTP RESTful请求,然后读取JSON输出并构建自己的UI。