Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.