es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cambiar el nivel de compresión ZSTD para archivos escritos a través de Spark?

Se establece que el nivel de compresión predeterminado de zstd es 1 en la documentación de Spark. https://spark.apache.org/docs/latest/configuration.html

Configuré esta propiedad a diferentes valores tanto en el archivo spark-defaults.conf,

y dentro del código como

val conf = new SparkConf(false)
conf.set("spark.io.compression.zstd.level", "22")
val spark = SparkSession.builder.config(conf).getOrCreate()
..

La lectura de la misma entrada y guardar/escribir en formato parquet con compresión zstd varias veces no cambió en absoluto el tamaño del archivo de salida. ¿Cómo se puede ajustar este nivel de compresión en Spark?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que ajustar la propiedad spark.io.compression.zstd.level en Spark no tiene ningún efecto en el tamaño del archivo de salida al guardar/escribir en formato Parquet con compresión zstd. Una solución alternativa para ajustar el nivel de compresión es utilizar una biblioteca de terceros como Hadoop Zstandard Codec o Apache Drill, que permiten personalizar los niveles de compresión zstd más allá del valor predeterminado de 1. Otra opción es experimentar con diferentes algoritmos de compresión admitidos por Spark y evaluar su rendimiento en términos de tamaño del archivo de salida y velocidad de consulta.

Comments are closed.