Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16499|Svar: 0

[Kilde] Download filer direkte fra Hadoop HDFS

[Kopier link]
Opslået på 10/07/2019 14.20.11 | | |
Download store filer fra HDFS

Jeg har fået en stor fil (ca. 2GB) DataInputStream fra HDFS-klienten, og jeg skal gemme den som en fil på min host.

Jeg overvejer at bruge Apache Common IOUtils og lave noget i denne stil......


Jeg har ledt efter andre løsninger, der er bedre end denne. Hovedbekymringen er brugen af buffering i input og IOUtils.copy.

For filer større end 2GB anbefales det at bruge IOUtils.copyLarge() (hvis vi taler om de samme IOUtils: org.apache.commons.io.IOUtils)

Replikaen i IOUtils bruger standardbufferstørrelsen på 4Kb (selvom du kan angive en anden bufferstørrelse som parameter).

Forskellen mellem copy() og copyLarge() er, at den returnerer resultatet.

Fordi copy(), hvis streamen er større end 2GB, vil du bruge kopien med succes, men resultatet er -1.

For copyLarge() er resultatet antallet af bytes, der er fuldt kopieret.

Se mere i dokumentationen her:


Hyperlink-login er synlig.



Hvordan man tjekker, om en fil er fuldt downloadet via Spring Rest API'en

Jeg har lavet et simpelt REST API til at levere filer fra hdfs (filerne er store, og jeg vil ikke kopiere dem lokalt).

Jeg vil gerne logge den information, som fildownloadet gennemførte med succes, altså læse hele streamen, men jeg ved ikke hvordan. Jeg kan kun registrere den information, hvor fil-downloaden startede.

Enhver hjælp vil blive meget værdsat.


Du kan prøve at oprette en wrapper på InputStreamen og udløse nogle flag på streamen close(close()).

For eksempel kan du bruge ProxyInputStream som grundlag:








Tidligere:Del nogle få målte hjemmesider til at modtage SMS-verifikationskoder online
Næste:JS--Plugin: Træudvikling og implementeringsvedhæftning kan downloades!!
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com