Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A continuación, examine las estadísticas de E/S de la fase más larga de nuevo:
de E/S de larga fase
¿Qué es la E/S alta?
¿Cuántos datos deben estar en una columna de entrada/salida para ser considerados altos? Para averiguarlo, empiece por el número más alto de cualquiera de las columnas especificadas. A continuación, tenga en cuenta el número total de núcleos de CPU que tiene en todos sus trabajadores. Por lo general, cada núcleo puede leer y escribir aproximadamente 3 MB por segundo.
Divida la columna de E/S más grande por el número de núcleos de trabajo del clúster y, a continuación, divida eso por segundos de duración. Si el resultado es de aproximadamente 3 MB, es probable que esté limitado por E/S. Eso sería una E/S alta.
Entrada alta
Si ve una gran cantidad de entradas en la fase, significa que está pasando mucho tiempo leyendo datos. En primer lugar, identifique qué datos está leyendo esta fase. Consulte Identificación de una lectura costosa en el DAG de Spark.
Después de identificar los datos específicos, estos son algunos enfoques para acelerar las lecturas:
- Use Delta.
- Pruebe Photon. Puede ayudar mucho con la velocidad de lectura, especialmente para tablas amplias.
- Haga que la consulta sea más selectiva, por lo que no es necesario leer tantos datos.
- Reconsidera el diseño de los datos para que el salto de datos sea más eficaz.
- Si está leyendo los mismos datos varias veces, use la caché delta.
- Si va a realizar una unión, intente hacer que DFP funcione.
Rendimiento alto
Si observa una gran cantidad de resultados de su etapa, significa que está dedicando mucho tiempo a registrar datos. Estos son algunos enfoques para resolver esto:
- ¿Está reescribiendo muchos datos? Consulte Cómo determinar si Spark está reescribiendo datos para comprobarlo. Si va a reescribir muchos datos:
- Compruebe si tiene una combinación que debe optimizarse.
- Use vectores de eliminación para marcar las filas existentes como eliminadas o modificadas sin volver a escribir el archivo Parquet.
- Habilite Photon si aún no lo está. Photon puede ayudar mucho con la velocidad de escritura.
Orden aleatorio alto
Si no está familiarizado con el shuffle, este es el momento de aprender.
Sin alta E/S
Si no ve una E/S alta en ninguna de las columnas, tendrá que investigar más a fondo. Consulte Fase de Spark lenta con poca E/S.