Я использую curl для загрузки больших файлов (от 5 до 20 ГБ) в Обруч на основе HDFS (Hadoop Cluster) следующим образом:
curl -f --data-binary "@$file" "$HOOP_HOST$UPLOAD_PATH?user.name=$HOOP_USER&op=create"
Но когда curl загружает большой файл, он пытается полностью кэшировать его в ОЗУ, что приводит к высокой загрузке памяти. Я пытался использовать -N
флаг от man curl
который должен отключить буферизацию. Но ничего не произошло. Итак, мой вопрос: есть ли способ принудительно записать curl напрямую в сокет, или не могли бы вы посоветовать мне другое приложение, которое покроет мои потребности в простых запросах HTTP POST / PUT.
Я не буду писать это сам, потому что это похоже на изобретение велосипеда. Спасибо.
К сожалению, по словам Даниэля Стенберга, в настоящее время это невозможно.