Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 16499|Răspunde: 0

[Sursă] Descarcă fișiere direct din Hadoop HDFS

[Copiază linkul]
Postat pe 10.07.2019 14:20:11 | | |
Descarcă fișiere mari de pe HDFS

Am primit un fișier mare (aproximativ 2GB) de DataInputStream de la clientul HDFS și trebuie să-l stochez ca fișier pe gazda mea.

Mă gândesc să folosesc IO-urile comune Apache și să fac ceva de genul acesta......


Am căutat alte soluții mai bune decât aceasta. Principala preocupare este utilizarea buffering-ului în input și IOUtils.copy.

Pentru fișiere mai mari de 2GB, se recomandă să se folosească IOUtils.copyLarge() (dacă vorbim despre aceleași IOUtils: org.apache.commons.io.IOUtils)

Replica din IOUtils folosește dimensiunea implicită a bufferului de 4Kb (deși poți specifica o altă dimensiune a bufferului ca parametru).

Diferența dintre copy() și copyLarge() este că returnează rezultatul.

Pentru că copy(), dacă fluxul este mai mare de 2GB, vei folosi cu succes copia, dar rezultatul este -1.

Pentru copyLarge(), rezultatul este numărul de octeți care sunt copiați complet.

Vezi mai multe în documentația de aici:


Autentificarea cu hyperlink este vizibilă.



Cum să verifici dacă un fișier este complet descărcat prin API-ul Spring Rest

Am creat un API REST simplu pentru a servi fișiere de pe hdfs (fișierele sunt mari și nu vreau să le copiez local).

Vreau să înregistrez informațiile despre care fișierul a fost finalizat cu succes, adică să citesc întregul stream, dar nu știu cum. Pot înregistra doar informațiile despre care a început descărcarea fișierului.

Orice ajutor ar fi foarte apreciat.


Poți încerca să creezi un wrapper pe InputStream și să declanșezi niște steaguri pe stream-ul close(close()).

De exemplu, poți folosi ProxyInputStream ca bază:








Precedent:Distribuie câteva site-uri măsurate pentru primirea codurilor de verificare SMS online
Următor:JS--Plugin: Atașamentul pentru dezvoltarea și implementarea arborilor este descărcabil!!
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com