Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16499|Répondre: 0

[Source] Téléchargez les fichiers directement depuis Hadoop HDFS

[Copié le lien]
Publié sur 10/07/2019 14:20:11 | | |
Télécharger de gros fichiers depuis HDFS

J’ai reçu un gros fichier (environ 2 Go) de DataInputStream du client HDFS et je dois le stocker en fichier sur mon hôte.

Je pense utiliser des IOUtils communs Apache et faire quelque chose comme ça......


Je cherchais d’autres solutions meilleures que celle-ci. La principale préoccupation concerne l’utilisation du tampon dans l’entrée et IOUtils.copy.

Pour les fichiers de plus de 2 Go, il est recommandé d’utiliser IOUtils.copyLarge() (si l’on parle des mêmes IOUtils : org.apache.commons.io.IOUtils)

La réplique dans IOUtils utilise la taille de tampon par défaut de 4Kb (bien que vous puissiez spécifier une autre taille de tampon comme paramètre).

La différence entre copy() et copyLarge() est qu’elle retourne le résultat.

Parce que copy(), si le flux dépasse 2 Go, vous utiliserez la copie avec succès, mais le résultat est -1.

Pour CopyLarge(), le résultat est le nombre d’octets entièrement copiés.

Voir plus de détails dans la documentation ici :


La connexion hyperlientérée est visible.



Comment vérifier qu’un fichier est entièrement téléchargé via l’API Spring Rest

J’ai créé une API REST simple pour servir les fichiers depuis des hdfs (les fichiers sont volumineux et je ne veux pas les copier localement).

Je veux enregistrer les informations que le téléchargement du fichier a été réalisé avec succès, c’est-à-dire lire tout le flux, mais je ne sais pas comment. Je ne peux enregistrer que les informations que le téléchargement du fichier a commencé.

Toute aide serait grandement appréciée.


Vous pouvez essayer de créer un wrapper sur l’InputStream et déclencher quelques drapeaux sur le stream close(close()).

Par exemple, vous pouvez utiliser ProxyInputStream comme base :








Précédent:Partagez quelques sites web mesurés pour recevoir des codes de vérification SMS en ligne
Prochain:JS--Plugin : Joint Tree Development and Implementation est téléchargeable !!
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com