Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 16499|Antwoord: 0

[Bron] Download bestanden rechtstreeks van Hadoop HDFS

[Link kopiëren]
Geplaatst op 10-07-2019 14:20:11 | | |
Download grote bestanden van HDFS

Ik heb een groot bestand (ongeveer 2GB) DataInputStream van de HDFS-client gekregen en ik moet het als bestand op mijn host opslaan.

Ik denk eraan om Apache Common IOUtils te gebruiken en iets dergelijks te doen......


Ik ben op zoek naar andere oplossingen die beter zijn dan deze. De belangrijkste zorg is het gebruik van buffering in input en IOUtils.copy.

Voor bestanden groter dan 2GB wordt aanbevolen om IOUtils.copyLarge() te gebruiken (als we het over dezelfde IOUtils hebben: org.apache.commons.io.IOUtils)

De replica in IOUtils gebruikt de standaard buffergrootte van 4Kb (hoewel je een andere buffergrootte als parameter kunt specificeren).

Het verschil tussen copy() en copyLarge() is dat het resultaat wordt teruggegeven.

Omdat copy(), als de stream groter is dan 2GB, gebruik je de copy succesvol, maar het resultaat is -1.

Voor copyLarge() is het resultaat het aantal bytes dat volledig gekopieerd is.

Zie hier meer in de documentatie:


De hyperlink-login is zichtbaar.



Hoe controleer je of een bestand volledig is gedownload via de Spring Rest API

Ik heb een eenvoudige REST API gemaakt om bestanden van hdfs te serveren (de bestanden zijn groot en ik wil ze niet lokaal kopiëren).

Ik wil de informatie registreren die de bestandsdownload succesvol heeft afgerond, oftewel de hele stream lezen, maar ik weet niet hoe. Ik kan alleen de informatie registreren dat het downloaden van het bestand is begonnen.

Alle hulp wordt zeer gewaardeerd.


Je kunt proberen een wrapper op de InputStream te maken en wat vlaggen op de stream close(close()) te triggeren.

Je kunt bijvoorbeeld ProxyInputStream als basis gebruiken:








Vorig:Deel een paar gemeten websites om online SMS-verificatiecodes te ontvangen
Volgend:JS--Plugin: Tree Development and Implementation Attachment is te downloaden!!
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com