Partager via


Entrée/sortie élevée pour une étape Spark

Ensuite, examinez les statistiques d’E/S de l’étape la plus longue :

E/S de l’étape longue

Qu’est-ce qu’une E/S élevée ?

Quelle quantité de données doit être dans une colonne d’E/S considérée comme élevée ? Pour déterminer cela, commencez par le nombre le plus élevé dans l’une des colonnes données. Considérez ensuite le nombre total de cœurs de processeur dont vous disposez sur tous nos workers. En règle générale, chaque cœur peut lire et écrire environ 3 Mo par seconde.

Divisez votre plus grande colonne d’E/S par le nombre de cœurs de travail du cluster, puis divisez-le par secondes. Si le résultat est d’environ 3 Mo, vous êtes probablement limité par les E/S. Il s’agirait d’E/S élevées.

Entrée élevée

Si vous voyez beaucoup d’entrées dans votre étape, cela signifie que vous passez beaucoup de temps à lire des données. Tout d’abord, identifiez les données que cette étape lit. Consultez Identification d’une lecture coûteuse dans le DAG de Spark.

Après avoir identifié les données spécifiques, voici quelques approches pour accélérer vos lectures :

  • Utilisez Delta.
  • Essayez Photon. Cela peut grandement améliorer la vitesse de lecture, surtout pour les tables larges.
  • Faites en sorte que votre requête soit plus sélective afin qu’elle n’ait pas besoin de lire autant de données.
  • Reconsidérez la disposition de vos données afin que le mécanisme de data skipping soit plus efficace.
  • Si vous lisez les mêmes données plusieurs fois, utilisez le cache delta.
  • Si vous effectuez une jointure, envisagez d'essayer de faire fonctionner la fonction DFP.

Sortie élevée

Si vous voyez beaucoup de sorties depuis votre étape, cela signifie que vous passez beaucoup de temps à écrire des données. Voici quelques approches pour résoudre ce problème :

Lecture aléatoire élevée

Si vous n’êtes pas familiarisé avec le terme « aléatoire », c’est le moment d’apprendre.

Aucune E/S élevée

Si vous ne voyez pas d’E/S élevées dans l’une des colonnes, vous devez aller plus loin. Consultez Étape Spark lente avec peu d’E/S.