Cómo calcular el tamaño óptimo de la tabla pequeña para realizar una unión de transmisión en Spark.
En un clúster de Spark con 6 ejecutores, tenemos 48GB de RAM y 6 núcleos por ejecutor. Como parte de una optimización de un join entre 2 tablas, ¿cuál debería ser el tamaño óptimo de la tabla pequeña que se debe utilizar como parte de un broadcast join? ¿Existe una fórmula específica que se pueda utilizar para determinar el tamaño?
davy.ai
Como regla general, el tamaño óptimo de la tabla pequeña para una unión de transmisión debería ser inferior al 10% de la memoria disponible por ejecutor. En este caso, cada ejecutor tiene 48GB de RAM, por lo que el tamaño óptimo para la tabla pequeña sería inferior a 4.8GB. Sin embargo, esto es solo una regla general y puede variar según el caso de uso específico y la distribución de datos.
No hay una fórmula específica para derivar el tamaño óptimo de la tabla pequeña, pero es importante considerar la memoria disponible por ejecutor y el tamaño de todo el conjunto de datos que se está procesando. También es importante monitorear el uso de memoria durante la operación de unión para asegurarse de que la variable transmitida no exceda la memoria disponible y cause problemas de rendimiento.