Diagnóstico de una fase larga en Spark
Empiece por identificar la fase más larga del trabajo. Desplácese hasta la parte inferior de la página del trabajo hasta la lista de fases y ordénelas por duración:
Detalles de E/S de fase
Para ver datos de alto nivel sobre lo que hacía esta fase, examine las columnas Input, Output, Shuffle Ready Shuffle Write:
Las columnas significan lo siguiente:
- Input: cantidad de datos que esta fase ha leído desde el almacenamiento. Esto podría ser lecturas desde Delta, Parquet, CSV, etc.
- Output: cantidad de datos que esta fase ha escrito en el almacenamiento. Esto podría ser escrituras en Delta, Parquet, CSV, etc.
- Shuffle Read: cantidad de datos distribuidos aleatoriamente que ha leído esta fase.
- Shuffle Write: cantidad de datos distribuidos aleatoriamente que ha escrito esta fase.
Si no está familiarizado con lo que es la distribución aleatoria, ahora es un buen momento para aprender lo que significa.
Tome nota de estos números, ya que probablemente los necesitará más adelante.
Número de tareas
El número de tareas de la fase larga puede ayudar a identificar dónde se encuentra el problema. Puede determinar el número de tareas desde aquí:
Si ve una tarea, podría ser una señal de un problema. Para obtener más información, consulte Una tarea de Spark.
Ver más detalles de la fase
Si la fase tiene más de una tarea, debe investigar más. Haga clic en el vínculo de la descripción de la fase para obtener más información sobre la fase más larga:
Ahora que está en la página de la fase, consulte Sesgo y desbordamiento.