Как загрузить несколько файлов в HDFS через шлюз KNOX WebHDFS?

У меня есть настройка шлюза KNOX для нашего кластера Hadoop, и я ознакомился с примерами 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}'

Теперь, если я хочу загрузить три файла, скажем, file2, file3, file4 в расположение HDFS /user/testuserЯ должен выполнить последние две команды (сверху) три раза для трех файлов соответственно.

Я хочу знать, каким образом я могу загрузить несколько файлов за один раз. Есть ли способ, которым я мог бы предоставить несколько файлов в качестве входных данных в одном PUT запрос? Если их нет, я даже в порядке с перемещением файлов в папку и загрузкой этой папки вместо одного PUT запрос.

1 ответ

Knox прокси-сервер API-интерфейсы WebHDFS. Я не думаю, что в WebHDFS есть возможность загружать несколько файлов или непустой каталог, см. Раздел "Операции с файлами и каталогами WebHDFS", поэтому, скорее всего, вы не сможете этого сделать.

Другой вариант - использовать скрипт (скрипт bash), который использует несколько запросов PUT.

Другие вопросы по тегам