Как загрузить каталог в HDFS

Я работаю над проектом, в котором мне нужно загрузить каталог через REST API с машины за пределами моего кластера Hadoop в HDFS. По сути, мне нужна команда, с помощью которой я могу через терминал (или скрипт Python) отправить каталог в HDFS, используя REST API.

Единственный способ, указанный в документации WebHDFS, — это загрузка одного файла. Мне этого недостаточно, потому что мне нужно загружать тысячи файлов через REST API.

Заранее спасибо!

Это для HDFS, использующей один узел как NameNode и DataNode, очень стандартная конфигурация.


person João Marcos Araújo do Valle    schedule 15.07.2019    source источник


Ответы (1)


Вы можете сначала попробовать создать пустой каталог:

curl -i -s --user your_username:your_password --max-time 45 -X PUT https://XXXXX:8443/gateway/default/webhdfs/v1/user/path_to_directory?op=MKDIRS

Затем вы можете загружать файлы:

curl -i -L -s --user your_username:your_password --max-time 45 -X PUT -T file_name.txt \ https://XXXXX:8443/gateway/default/webhdfs/v1/user/path_to_director/path_to_file/file_name?op=CREATE

Ссылка: https://cloud.ibm.com/docs/services/AnalyticsEngine?topic=AnalyticsEngine-upload-files-hdfs

person Karthik    schedule 16.07.2019