Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 16499|Vastaus: 0

[Lähde] Lataa tiedostoja suoraan Hadoop HDFS:stä

[Kopioi linkki]
Julkaistu 10.7.2019 14.20.11 | | |
Lataa suuria tiedostoja HDFS:stä

Sain suuren tiedoston (noin 2GB) DataInputStreamia HDFS-asiakkaasta, ja minun täytyy tallentaa se tiedostona isäntäpalvelimelleni.

Ajattelen käyttää Apache Common IOUtils -laitteita ja tehdä jotain vastaavaa......


Olen etsinyt muita parempia ratkaisuja kuin tämä. Päähuolenaihe on puskuroinnin käyttö syötteessä ja IOUtils.copyssa.

Yli 2GB:n tiedostoille suositellaan IOUtils.copyLarge() (jos puhutaan samoista IOUtileistä: org.apache.commons.io.IOUtils)

IOUtilsin replika käyttää oletuspuskurikokoa 4Kb (vaikka parametriksi voi määrittää toisen puskurikoon).

Ero copy():n ja copyLarge():n välillä on se, että tulos palautetaan.

Koska copy(), jos striimi on yli 2GB, käytät kopiota onnistuneesti, mutta tulos on -1.

CopyLarge():ssa tuloksena on täysin kopioitujen tavujen määrä.

Katso lisää dokumentaatiosta täältä:


Hyperlinkin kirjautuminen on näkyvissä.



Kuinka tarkistaa, onko tiedosto täysin ladattu Spring Rest API:n kautta

Loin yksinkertaisen REST-API:n tiedostojen palvelemiseen hdfs:stä (tiedostot ovat suuria enkä halua kopioida niitä paikallisesti).

Haluan kirjata tiedot siitä, että tiedoston lataus onnistui, eli lukea koko striimin, mutta en tiedä miten. Voin tallentaa vain ne tiedot, jotka tiedoston lataus aloitti.

Kaikki apu olisi todella arvostettua.


Voit kokeilla luoda wrapperin InputStreamiin ja laukaista lippuja streamin close(close()) kohdalla.

Esimerkiksi voit käyttää ProxyInputStreamia pohjana:








Edellinen:Jaa muutama mitattu verkkosivusto SMS-vahvistuskoodien vastaanottamiseen verkossa
Seuraava:JS--Plugin: Tree Development and Implementation Attachment on ladattava!!
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com