Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 16499|Odgovoriti: 0

[Vir] Prenesite datoteke neposredno s Hadoop HDFS

[Kopiraj povezavo]
Objavljeno na 10. 07. 2019 14:20:11 | | |
Prenesite velike datoteke iz HDFS

Prejel sem veliko datoteko (približno 2GB) DataInputStream iz HDFS odjemalca in jo moram shraniti kot datoteko na gostitelju.

Razmišljam, da bi uporabil apache common IOUtils in naredil nekaj takega......


Iskal sem druge rešitve, ki so boljše od te. Glavna skrb je uporaba medpomnjenja v vhodnih in IOUtils.copy.

Za datoteke večje od 2GB je priporočljivo uporabiti IOUtils.copyLarge() (če govorimo o istih IOUtils: org.apache.commons.io.IOUtils)

Replika v IOUtils uporablja privzeto velikost medpomnilnika 4Kb (čeprav lahko kot parameter določite še eno velikost medpomnilnika).

Razlika med copy() in copyLarge() je v tem, da vrne rezultat.

Ker copy(), če je tok večji od 2GB, boste uspešno uporabili kopijo, vendar je rezultat -1.

Za copyLarge() je rezultat število bajtov, ki so popolnoma kopirani.

Več v dokumentaciji si lahko ogledate tukaj:


Prijava do hiperpovezave je vidna.



Kako preveriti, ali je datoteka popolnoma prenesena preko Spring Rest API-ja

Ustvaril sem preprost REST API za serviranje datotek iz hdfs (datoteke so velike in jih nočem kopirati lokalno).

Želim zabeležiti informacije, da je prenos datoteke uspešno zaključen, torej prebrati celoten tok, vendar ne vem kako. Lahko zabeležim le informacijo, da se je prenos datoteke začel.

Vsaka pomoč bi bila zelo dobrodošla.


Lahko poskusiš ustvariti wrapper na InputStreamu in sprožiš nekaj zastavic na streamu close(close()).

Na primer, lahko uporabite ProxyInputStream kot osnovo:








Prejšnji:Delite nekaj merjenih spletnih strani za prejemanje SMS verifikacijskih kod prek spleta
Naslednji:JS--Vtičnik: Priloga za razvoj in implementacijo dreves je na voljo za prenos!!
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com