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.

Mi cubo de S3 tiene más de 100.000 archivos parquet. ¿Cuál es la mejor manera de fusionar programáticamente todos los archivos parquet y crear uno grande?

Los archivos parquet se están volcando cada minuto en el bucket de S3. Tengo datos de 6 meses que incluyen más de 100.000 archivos parquet pequeños. Todos ellos tienen el mismo esquema. Ahora estoy escribiendo un programa para fusionar todos estos archivos. Intenté añadir un dataframe a otro usando pandas, pero obviamente esa no parece ser la forma correcta. Solo me pregunto cuál será la forma más eficiente.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¿Cómo se pueden combinar todos estos pequeños archivos Parquet en uno solo?

    Una forma eficiente de combinar todos estos pequeños archivos Parquet en uno solo es mediante el uso de Apache Spark. Apache Spark proporciona una forma eficiente de combinar grandes cantidades de datos distribuyendo el procesamiento en múltiples nodos. Para combinar archivos Parquet usando Apache Spark, puedes seguir los siguientes pasos:

    1. Crea una SparkSession y lee todos los archivos Parquet del bucket de S3 en un DataFrame.
    2. Utiliza el método union para combinar todos los DataFrames en un solo DataFrame.

    3. Escribe el DataFrame combinado en un nuevo archivo Parquet en el bucket de S3.

    Este enfoque aprovechará la naturaleza distribuida de Apache Spark y será capaz de manejar grandes volúmenes de datos de manera eficiente. Además, reducirá el tiempo y el esfuerzo requeridos para combinar manualmente todos estos pequeños archivos Parquet usando pandas.

Comments are closed.