Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 16499|Odpověď: 0

[Zdroj] Stáhněte soubory přímo z Hadoop HDFS

[Kopírovat odkaz]
Zveřejněno 10.07.2019 14:20:11 | | |
Stahujte velké soubory z HDFS

Získal jsem velký soubor (asi 2GB) DataInputStream z HDFS klienta a potřebuji ho uložit jako soubor na svém hostiteli.

Přemýšlím o použití apache common IOUtils a udělám něco takového......


Hledal jsem další řešení, která jsou lepší než toto. Hlavní obavou je použití bufferování ve vstupu a IOUtils.copy.

Pro soubory větší než 2GB se doporučuje použít IOUtils.copyLarge() (pokud mluvíme o stejných IOUtils: org.apache.commons.io.IOUtils)

Replika v IOUtils používá výchozí velikost bufferu 4Kb (i když můžete jako parametr zadat jinou velikost bufferu).

Rozdíl mezi copy() a copyLarge() je v tom, že vrací výsledek.

Protože copy(), pokud je stream větší než 2GB, úspěšně použijete copy, ale výsledek je -1.

Pro copyLarge() je výsledkem počet bajtů, které jsou plně zkopírovány.

Více informací najdete v dokumentaci zde:


Přihlášení k hypertextovému odkazu je viditelné.



Jak zkontrolovat, zda je soubor plně stažen přes Spring Rest API

Vytvořil jsem jednoduché REST API pro servírování souborů z hdfs (soubory jsou velké a nechci je kopírovat lokálně).

Chci zaznamenat informace, že stažení souboru bylo úspěšně dokončeno, tedy přečíst celý stream, ale nevím jak. Mohu zaznamenat jen informaci, že stahování souboru začalo.

Jakákoli pomoc by byla velmi oceněna.


Můžete zkusit vytvořit wrapper na InputStream a spustit nějaké příznaky na streamu close(close()).

Například můžete použít ProxyInputStream jako základ:








Předchozí:Sdílejte několik měřených webových stránek pro online přijímání ověřovacích kódů SMS
Další:JS--Plugin: Tree Development and Implementation Attachment je ke stažení!!
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com