Spark: "tronqué la représentation sous forme de chaîne d'un plan car il était trop grand." Avertissement lors de l'utilisation de l'expression d'agrégation créée manuellement

Je suis en train de construire pour chacun de mes utilisateurs un vecteur contenant le nombre moyen de dossiers par heure de la journée. D'où le vecteur a 24 dimensions.

Mon original DataFrame a userID et hour colonnes, andI je commence par faire un groupBy et compter le nombre d'enregistrement par l'utilisateur par heure comme suit:

val hourFreqDF = df.groupBy("userID", "hour").agg(count("*") as "hfreq")

Maintenant, afin de générer un vecteur par utilisateur, je suis en train de faire le suivi, basé sur la première suggestion dans cette réponse.

val hours = (0 to 23 map { n => s"$n" } toArray)

val assembler = new VectorAssembler()
                     .setInputCols(hours)
                     .setOutputCol("hourlyConnections")

val exprs = hours.map(c => avg(when($"hour" === c, $"hfreq").otherwise(lit(0))).alias(c))

val transformed = assembler.transform(hourFreqDF.groupBy($"userID")
                           .agg(exprs.head, exprs.tail: _*))

Quand je lance cet exemple, j'obtiens le message d'avertissement suivant:

Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.debug.maxToStringFields' in SparkEnv.conf.

Je présume que c'est parce que l'expression est trop long?

Ma question est: puis-je ignorer cet avertissement?

source d'informationauteur Rami