Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16499|Отговор: 0

[Източник] Изтегляне на файлове директно от Hadoop HDFS

[Копирай линк]
Публикувано в 10.07.2019 г. 14:20:11 ч. | | |
Изтеглете големи файлове от HDFS

Получих голям файл (около 2GB) DataInputStream от HDFS клиента и трябва да го съхраня като файл на моя хост.

Мисля да използвам Apache Common IOUtils и да направя нещо подобно......


Търся други решения, които са по-добри от това. Основната грижа е използването на буфериране при входа и IOUtils.copy.

За файлове по-големи от 2GB се препоръчва да се използва IOUtils.copyLarge() (ако говорим за същите IOUtils: org.apache.commons.io.IOUtils)

Репликата в IOUtils използва стандартния размер на буфера 4Kb (въпреки че можеш да зададеш друг размер на буфера като параметър).

Разликата между copy() и copyLarge() е, че връща резултата.

Защото copy(), ако потокът е по-голям от 2GB, ще използвате копието успешно, но резултатът е -1.

За copyLarge() резултатът е броят на напълно копираните байтове.

Вижте повече в документацията тук:


Входът към хиперлинк е видим.



Как да проверите дали даден файл е напълно изтеглен чрез Spring Rest API

Създадох прост REST API за обслужване на файлове от hdfs (файловете са големи и не искам да ги копирам локално).

Искам да записвам информацията, която файлът е завършил успешно, т.е. да прочета целия поток, но не знам как. Мога да запиша само информацията, от която е започнало изтеглянето на файла.

Всякаква помощ ще бъде много оценена.


Можеш да опиташ да създадеш wrapper на InputStream и да задействаш някои флагове на потока close(close(close()).

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








Предишен:Споделете няколко измерени уебсайта за получаване на SMS кодове за потвърждение онлайн
Следващ:JS--Plugin: Приложение за разработка и имплементация на дърво е достъпно за изтегляне!!
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com