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

时间:2016-12-26 17:23:23

标签: java hadoop servlets hdfs

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

有谁能建议我怎么可能? 我试图从谷歌获得帮助,但我无法找到任何方向。

1 个答案:

答案 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"
      },
      ...
    ]
  }
}

link