Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16499|Respuesta: 0

[Fuente] Descarga archivos directamente desde Hadoop HDFS

[Copiar enlace]
Publicado en 10/7/2019 14:20:11 | | |
Descarga archivos grandes desde HDFS

He recibido un archivo grande (unos 2GB) de DataInputStream del cliente HDFS y necesito almacenarlo como archivo en mi host.

Estoy pensando en usar los IOUtils comunes de Apache y hacer algo así......


He estado buscando otras soluciones que sean mejores que esta. La principal preocupación es el uso de búfer en la entrada e IOUtils.copy.

Para archivos de más de 2GB, se recomienda usar IOUtils.copyLarge() (si hablamos de los mismos IOUtils: org.apache.commons.io.IOUtils)

La réplica en IOUtils usa el tamaño de búfer por defecto de 4Kb (aunque puedes especificar otro tamaño de búfer como parámetro).

La diferencia entre copy() y copyLarge() es que devuelve el resultado.

Porque copy(), si el flujo es mayor que 2GB, usarás la copia con éxito, pero el resultado es -1.

Para copyLarge() el resultado es el número de bytes que se copian completamente.

Consulta más en la documentación aquí:


El inicio de sesión del hipervínculo es visible.



Cómo comprobar si un archivo está completamente descargado a través de la API de Spring Rest

He creado una API REST sencilla para servir archivos desde hdfs (los archivos son grandes y no quiero copiarlos localmente).

Quiero registrar la información de que la descarga del archivo se completó correctamente, es decir, leer toda la transmisión, pero no sé cómo. Solo puedo registrar la información de que comenzó la descarga del archivo.

Cualquier ayuda sería muy apreciada.


Puedes intentar crear un wrapper en el InputStream y activar algunas banderas en el stream closure(close()).

Por ejemplo, puedes usar ProxyInputStream como base:








Anterior:Comparte algunos sitios web de medición para recibir códigos de verificación SMS en línea
Próximo:JS--Plugin: ¡Archivo adjunto de Desarrollo e Implementación de Árboles, disponible para descargar!
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com