Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 16499|Válasz: 0

[Forrás] Fájlok letöltése közvetlenül a Hadoop HDFS-ről

[Linket másol]
Közzétéve 2019. 07. 10. 14:20:11 | | |
Töltsd le nagy fájlokat a HDFS-ről

A HDFS kliensből kaptam egy nagy fájlt (kb. 2GB) DataInputStream-ből, és fájlként kell tárolnom a hostomon.

Azon gondolkodom, hogy Apache Common IOUtils rendszereket használok, és csinálok valami hasonlót......


Más megoldásokat keresek, amelyek jobbak ennél. A fő aggodalom a pufferezés használata a bemenetben és az IOUtils.copy esetében.

2 GB-nál nagyobb fájlok esetén ajánlott az IOUtils.copyLarge() használatát (ha ugyanazokról az IOUtilsekről beszélünk: org.apache.commons.io.IOUtils)

Az IOUtils replikája alapértelmezett 4Kb pufferméretet használ (bár paraméterként más pufferméretet is megadhatunk).

A copy() és a copyLarge() közötti különbség az, hogy visszaadja az eredményt.

Mivel a copy(), ha a stream nagyobb, mint 2GB, sikeresen használod a másolatot, de az eredmény -1.

A copyLarge() esetén az eredmény a teljes egészében másolt bájtok száma.

További információkat itt találhat:


A hiperlink bejelentkezés látható.



Hogyan ellenőrizzük, hogy egy fájl teljesen le van töltve a Spring Rest API-n keresztül

Létrehoztam egy egyszerű REST API-t, hogy fájlokat szolgáljak HDFS-ből (a fájlok nagyok, és nem szeretném helyben másolni őket).

Szeretném naplózni az információt, hogy a fájlletöltés sikeresen véget ért, azaz elolvassam az egész streamet, de nem tudom, hogyan. Csak azt az információt tudom rögzíteni, hogy a fájlletöltés elkezdődött.

Bármilyen segítséget nagyon hálás lennék.


Megpróbálhatsz wrappert létrehozni az InputStreamen, és aktiválni néhány zászlót a stream(close()) sávon.

Például a ProxyInputStream-et használhatod alapként:








Előző:Osszon meg néhány mért weboldalt SMS ellenőrző kódok online megkapásához
Következő:JS--Plugin: Tree Development and Implementation Attachment letölthető!!
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com