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?
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.