Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 16499|Risposta: 0

[Fonte] Scarica file direttamente da Hadoop HDFS

[Copiato link]
Pubblicato su 10/07/2019 14:20:11 | | |
Scarica file grandi da HDFS

Ho ricevuto un file grande (circa 2GB) di DataInputStream dal client HDFS e devo memorizzarlo come file sul mio host.

Sto pensando di usare gli IOUtils comuni di Apache e fare qualcosa del genere......


Stavo cercando altre soluzioni migliori di questa. La preoccupazione principale è l'uso del buffering in input e IOUtils.copy.

Per file maggiori di 2GB, si consiglia di usare IOUtils.copyLarge() (se parliamo degli stessi IOUtils: org.apache.commons.io.IOUtils)

La replica in IOUtils usa la dimensione predefinita del buffer di 4Kb (anche se puoi specificare un'altra dimensione del buffer come parametro).

La differenza tra copy() e copyLarge() è che restituisce il risultato.

Perché copy(), se lo stream è superiore a 2GB, userai con successo la copia, ma il risultato è -1.

Per copyLarge() il risultato è il numero di byte che vengono completamente copiati.

Vedi di più nella documentazione qui:


Il login del link ipertestuale è visibile.



Come verificare se un file è completamente scaricato tramite l'API Spring Rest

Ho creato una semplice API REST per servire i file dagli hdfs (i file sono grandi e non voglio copiarli localmente).

Voglio registrare le informazioni che il download del file è stato completato con successo, cioè leggere l'intero stream, ma non so come. Posso solo registrare le informazioni che sono iniziate le informazioni del download.

Qualsiasi aiuto sarebbe molto apprezzato.


Puoi provare a creare un wrapper sull'InputStream e attivare alcune flag sul flusso di chiusura(chiudere).

Ad esempio, puoi usare ProxyInputStream come base:








Precedente:Condividi alcuni siti web misurati per ricevere codici di verifica SMS online
Prossimo:JS--Plugin: Allegato per lo sviluppo e l'implementazione degli alberi è scaricabile!!
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com