Partager via


Conseiller Apache Spark pour des conseils en temps réel sur les carnets

Le conseiller Apache Spark analyse les commandes et le code exécutés par Apache Spark et affiche des conseils en temps réel pour les exécutions de notebook. Le conseiller Apache Spark a des modèles intégrés pour aider les utilisateurs à éviter les erreurs courantes. Il propose des recommandations pour l’optimisation du code, effectue une analyse des erreurs et localise la cause racine des défaillances.

Conseils intégrés

Le conseiller Spark, un outil intégré à Impulse, fournit des modèles intégrés pour détecter et résoudre les problèmes dans les applications Apache Spark. Cet article explique certains des modèles inclus dans l’outil.

Vous pouvez ouvrir le volet Exécutions récentes en fonction du type de conseil dont vous avez besoin.

Peut retourner des résultats incohérents lors de l’utilisation de « randomSplit »

Des résultats incohérents ou incorrects peuvent être retournés lors de l’utilisation de la méthode randomSplit . Utilisez la mise en cache Apache Spark (RDD) avant d’utiliser la méthode randomSplit().

La méthode randomSplit() équivaut à effectuer des exemples() sur votre trame de données plusieurs fois. Dans chaque échantillon, on ravitaille, partitionne et trie votre tableau de données à l'intérieur des partitions. La distribution des données entre les partitions et l’ordre de tri est importante pour randomSplit() et sample(). Si l'un ou l'autre change lors d'une nouvelle récupération de données, il peut y avoir des doublons ou des valeurs manquantes dans les différentes divisions. Et le même échantillon utilisant la même valeur de départ peut produire des résultats différents.

Ces incohérences peuvent ne pas se produire sur chaque exécution, mais pour les éliminer complètement, mettez en cache votre trame de données, repartitionnez sur une ou plusieurs colonnes ou appliquez des fonctions d’agrégation telles que groupBy.

Le nom de table/vue est déjà utilisé

Une vue existe déjà avec le même nom que la table créée, ou une table existe déjà avec le même nom que la vue créée. Lorsque ce nom est utilisé dans les requêtes ou les applications, seule la vue est retournée, indépendamment de l'ordre de création. Pour éviter les conflits, renommez soit la table, soit la vue.

Impossible de reconnaître un indicateur

spark.sql("SELECT /*+ unknownHint */ * FROM t1")

Impossible de trouver un ou plusieurs noms de relation spécifiés

Impossible de trouver la ou les relations spécifiées dans l’indicateur. Vérifiez que les relations sont correctement orthographiées et accessibles dans l’étendue de l’indicateur.

spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Un indicateur dans la requête empêche l’application d’un autre indicateur

La requête sélectionnée contient un indicateur qui empêche l’application d’un autre indicateur.

spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Activez « spark.advise.divisionExprConvertRule . enable » pour réduire la propagation des erreurs d’arrondi

Cette requête contient l’expression avec un type double. Nous vous recommandons d’activer la configuration « spark.advise.divisionExprConvertRule.enable », qui peut aider à diminuer les expressions de division et à limiter la propagation des erreurs d’arrondi.

"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"

Activez « spark.advise.nonEqJoinConvertRule . enable » pour améliorer les performances des requêtes

Cette requête contient une jointure chronophage en raison d'une condition OU dans la requête. Nous vous recommandons d’activer la configuration « spark.advise.nonEqJoinConvertRule.enable », qui peut vous aider à convertir la jointure déclenchée par la condition « Or » en SMJ ou BHJ pour accélérer cette requête.

Expérience utilisateur

Le conseiller Apache Spark affiche les conseils, notamment les informations, les avertissements et les erreurs, à la sortie de cellule Notebook en temps réel.

Paramètre Spark Advisor

Le paramètre Du conseiller Spark vous permet de choisir d’afficher ou de masquer des types spécifiques de conseils Spark en fonction de vos besoins. En outre, vous avez la possibilité d’activer ou de désactiver le Conseiller Spark pour vos notebooks au sein d’un espace de travail, en fonction de vos préférences.

Vous pouvez accéder aux paramètres Spark Advisor au niveau du notebook Fabric pour bénéficier de ses avantages et garantir une expérience de création de notebook productive.

Capture d’écran montrant le paramètre Spark Advisor.