Как загрузить несколько файлов в HDFS через шлюз KNOX WebHDFS? - PullRequest
0 голосов
/ 03 июля 2018

У меня настроен шлюз 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 Ответ

0 голосов
/ 03 июля 2018

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

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

...