Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16499|Ответ: 0

[Источник] Скачивайте файлы напрямую с Hadoop HDFS

[Скопировать ссылку]
Опубликовано 10.07.2019 14:20:11 | | |
Скачайте большие файлы с HDFS

Я получил большой файл (около 2 ГБ) DataInputStream от HDFS-клиента, и мне нужно хранить его как файл на моём хосте.

Я подумываю использовать Apache Common IOUtils и сделать что-то подобное......


Я ищу другие решения, которые лучше этого. Основная проблема — использование буферизации на входе и IOUtils.copy.

Для файлов больше 2 ГБ рекомендуется использовать IOUtils.copyLarge() (если говорить об одних и тех же IOUtils: org.apache.commons.io.IOUtils)

Реплика в IOUtils использует стандартный размер буфера 4 Кб (хотя можно указать другой размер буфера как параметр).

Разница между copy() и copyLarge() в том, что он возвращает результат.

Потому что copy(), если поток больше 2GB, вы успешно используете копию, но результат — -1.

Для copyLarge() результатом является количество полностью скопированных байт.

Подробнее в документации здесь:


Вход по гиперссылке виден.



Как проверить, полностью ли файл загружен через API Spring Rest

Я создал простой REST API для подачи файлов с HDFS (файлы большие, и я не хочу копировать их локально).

Я хочу записать информацию о том, что загрузка файла прошла успешно, то есть прочитать весь поток, но не знаю как. Я могу записать только ту информацию, с которой началась загрузка файла.

Буду очень признателен за любую помощь.


Можно попробовать создать оболочку на InputStream и активировать некоторые флаги на потоке close(close()).

Например, вы можете использовать ProxyInputStream в качестве основы:








Предыдущий:Поделитесь несколькими проверенными сайтами для получения кодов подтверждения SMS онлайн
Следующий:JS — Плагин: Вложение для разработки дерева и внедрения доступны для скачивания!!
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com