Я хочу загрузить указанные c файлы в каталог HDFS, их имена начинаются с «total_conn_data_». Поскольку у меня много файлов, я хочу написать скрипт bash.
Вот что я делаю:
myPatternFile="total_conn_data_*.csv" for filename in `curl -i -X GET "https://knox.blabla/webhdfs/v1/path/to/the/directory/?OP=LISTSTATUS" -u username`; do curl -i -X GET "https://knox.blabla/webhdfs/v1/path/to/the/directory/$filename?OP=OPEN" -u username -L -o "./data/$filename" -k; done
Но это не работает, поскольку curl -i -X GET "https://knox.blabla/webhdfs/v1/path/to/the/directory/?OP=LISTSTATUS" -u username отправляет обратно json текст, а не имена файлов.
curl -i -X GET "https://knox.blabla/webhdfs/v1/path/to/the/directory/?OP=LISTSTATUS" -u username
Как следует Я делаю? Спасибо
curl обеспечивает вывод только в формате json. вам придется использовать другие инструменты, такие как jquery и sed, чтобы отформатировать этот вывод и получить список файлов.