tengo un archivo de registro que está en un tarball (access.logs.tar.gz) cargado en mi clúster hadoop. Me preguntaba ¿es su manera de cargarlo directamente al cerdo sin desatarlo?cómo cargar un tarball al cerdo
Respuesta
PigStorage reconocerá que el archivo está comprimido (por la extensión .gz, esto se implementa realmente en el TextInputFormat que se extiende PigTextInputFormat), pero después de eso tratará con un archivo tar. Si puede manejar las líneas de encabezado entre los archivos en el alquitrán, entonces puede usar PigStorage tal como está; de lo contrario, tendrá que escribir su propia extensión de PigTextInputFormat para gestionar el desglose de las líneas de encabezado de tar entre cada archivo
@ La respuesta de ChrisWhite es técnicamente correcta y debes aceptar su respuesta en lugar de la mía (IMO al menos).
Necesita alejarse de los archivos tar.gz
con Hadoop. Los archivos Gzip no son divisibles, por lo que te encuentras en una situación en la que si tus archivos gzip son grandes, verás zonas interactivas en tus mapeadores. Por ejemplo, si tiene un archivo .tar.gz
de 100 gb, no podrá dividir el cálculo.
Digamos, por otro lado, que son muy pequeños. En ese caso, Pig hará un buen trabajo al juntarlos y el problema de división desaparecerá. Esto tiene la desventaja del hecho de que ahora se trata de toneladas de archivos pequeños con el NameNode. Además, dado que los archivos son pequeños, debería ser relativamente barato computacionalmente reformar los archivos en un formato más razonable.
¿En qué formato debe reformular los archivos? ¡Buena pregunta!
- Sólo concatenación de todos ellos en un solo archivo comprimido secuencia grande a nivel de bloque podría ser el más difícil, pero el más gratificante en términos de rendimiento .
- El otro es simplemente ignorar la compresión por completo y simplemente explotar esos archivos, o al menos concatenarlos (ve resultados de rendimiento sin compresión).
- Finalmente, puedes empalmar archivos en ~ 100MB y luego descomprimirlos gzip.
Creo que sería completamente razonable escribir algún tipo de cargador de tarball en piggybank, pero personalmente preferiría exponer los datos de manera diferente.
- 1. Scrum - ¿Eres un pollo o un cerdo?
- 2. ¿Se debería incluir autogen.sh en un tarball?
- 3. Untar multipart tarball en Windows
- 4. receta de marionetas instalando tarball
- 5. cerdo Ordenar Por consultas
- 6. ¿Cómo descargo un tarball de GitHub usando cURL?
- 7. instalando un archivo tarball de paquete de Python con pip
- 8. Deshabilitar mensajes al cargar un paquete
- 9. ¿Puede ser inmutable ser un cerdo de la memoria?
- 10. Error al cargar viewstate al cargar dinámicamente controles diferentes
- 11. java: ProcessBuilder hace una memoria de cerdo
- 12. Símbolo desconocido al cargar un módulo kernel
- 13. dojo.io.iframe error al cargar un archivo
- 14. Cómo cargar un archivo al servidor utilizando Yesod
- 15. ¿Cómo obtener un archivo completo al cargar archivos en PHP?
- 16. ¿Cómo manejar este error causado al cargar un JPEG problemático?
- 17. ¿Cómo puedo resolver entidades al cargar en un XDocument?
- 18. ¿Cómo puedo manejar los errores al cargar un iframe?
- 19. Error al cargar viewstate
- 20. "error al cargar manipulador"
- 21. Definir datos de tupla en el script de cerdo
- 22. RE2 al cargar biblioteca
- 23. $ _FILES vacía al cargar
- 24. ¿Cómo puedo cargar alias automáticamente al inicio?
- 25. Cómo cargar un XIB?
- 26. problema cerdo con una cuerda dividida (STRSPLIT)
- 27. ¿Cómo instalo un paquete R desde el tarball de origen en Windows?
- 28. Problemas al cargar git2.dll?
- 29. Error al cargar bibliotecas compartidas
- 30. Error al cargar EntityFramework 4.3.1