0

我已经为我们的 Hadoop 集群设置了 KNOX 网关,并且我已经浏览了 KNOX WebHDFS 示例。到目前为止,我知道下面的 cURL 命令可以用来创建目录和上传单个文件。

curl -k -u username:password -X PUT https://localhost:8443/gateway/default/webhdfs/v1/user/testuser?op=MKDIRS
curl -i -k -u username:password -X PUT 'https://localhost:8443/gateway/default/webhdfs/v1/user/testuser/file1?op=CREATE'
curl -i -k -u username:password -T file1 -X PUT '{Value of Location header from command above}'

现在,如果我想将三个文件上传到 HDFS 位置file2,我必须file3分别为三个文件执行最后两个命令(从上面)三次。file4/user/testuser

我想知道一种可以一次性上传多个文件的方法。PUT有没有一种方法可以在一个请求中提供多个文件作为输入?如果没有,我什至可以将文件移动到文件夹并通过单个PUT请求上传该文件夹。

4

1 回答 1

0

Knox 代理 WebHDFS API。我不认为 WebHDFS 能够上传多个文件或非空目录,请参阅WebHDFS 文件和目录操作,因此您很可能无法做到这一点。

另一种选择是使用使用多个 PUT 请求的脚本(bash 脚本)。

于 2018-07-03T14:27:29.157 回答