How to handle snappy files generated by Trino?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza con la reproducción proporcionada y el traceback en snappy/snappy_formats.py, especialmente get_decompress_function y guess_format_by_header. Compara el comportamiento entre las versiones 0.7.0 y 0.7.1 usando el archivo generado por Trino. La tarea estará completa cuando el formato del archivo se detecte y se descomprima correctamente sin introducir regresiones en la salida anterior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hello,
With the new release to 0.7.1 the I can't decompress CSV files generated by Trino, I think the issue is related with the Hadoop_snappy. Does anyone know how it can fixed?
from snappy import snappy_formats
csv_file = 'csv_67dba65a.snappy'
def read_file(file_path):
return open(file_path, 'rb')
decompress_func, read_chunk = snappy_formats.get_decompress_function(
'auto',
read_file(csv_file)
)
decompressed_stream = io.BytesIO()
# Decompress the data
decompress_func(
read_file(csv_file),
decompressed_stream,
start_chunk=read_chunk
)
decompressed_stream.seek(0)
print(f"Compressed file: {read_file(csv_file).read()}")
print(f"DeCompressed file: {decompressed_stream.read()}")
This code has different outputs based on the version:
-
0.7.0
Compressed file: b'\x00\x00\x00\x04\x00\x00\x00\x06\x04\x0c"a"\n'
DeCompressed file: b'"a"\n"a"\n' -
0.7.1
.venv/lib/python3.12/site-packages/snappy/snappy_formats.py", line 64, in get_decompress_function
decompress_func, read_chunk = guess_format_by_header(fin)
.venv/lib/python3.12/site-packages/snappy/snappy_formats.py", line 59, in guess_format_by_header
raise UncompressError("Can't detect archive format")
snappy.snappy.UncompressError: Can't detect archive format
- Lenguaje dominante
- Python
- Estrellas
- 490
- Forks
- 104
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de intake/python-snappy
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
intake/python-snappy#152 · 3 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
intake/python-snappy#151 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
intake/python-snappy#150 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
intake/python-snappy#147 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
intake/python-snappy#138 · 2 comentarios ·
Todos los issues de intake/python-snappy
Issues similares
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
simonw/sqlite-utils#872 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100