Échec de la tâche de Apache SparkFailed to parse byte stringApache Spark job fails with Failed to parse byte string

ProblèmeProblem

Les travaux Spark-Submit échouent avec un Failed to parse byte string: -1 message d’erreur.Spark-submit jobs fail with a Failed to parse byte string: -1 error message.

java.util.concurrent.ExecutionException: java.lang.NumberFormatException: Size must be specified as bytes (b), kibibytes (k), mebibytes (m), gibibytes (g), tebibytes (t), or pebibytes(p). E.g. 50b, 100k, or 250m.
Failed to parse byte string: -1
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec.doExecuteBroadcast(BroadcastExchangeExec.scala:182)
... 108 more
Caused by: java.lang.NumberFormatException: Size must be specified as bytes (b), kibibytes (k), mebibytes (m), gibibytes (g), tebibytes (t), or pebibytes(p). E.g. 50b, 100k, or 250m.
Failed to parse byte string: -1

CauseCause

La valeur de la spark.driver.maxResultSize propriété de l’application est négative.The value of the spark.driver.maxResultSize application property is negative.

SolutionSolution

La valeur assignée à spark.driver.maxResultSize définit la taille maximale (en octets) des résultats sérialisés pour chaque action Spark.The value assigned to spark.driver.maxResultSize defines the maximum size (in bytes) of the serialized results for each Spark action. Vous pouvez assigner une valeur positive à la spark.driver.maxResultSize propriété pour définir une taille spécifique.You can assign a positive value to the spark.driver.maxResultSize property to define a specific size. Vous pouvez également affecter la valeur 0 pour définir une taille maximale illimitée.You can also assign a value of 0 to define an unlimited maximum size. Vous ne pouvez pas assigner une valeur négative à cette propriété.You cannot assign a negative value to this property.

Si la taille totale d’un travail est supérieure à la spark.driver.maxResultSize valeur, le travail est abandonné.If the total size of a job is above the spark.driver.maxResultSize value, the job is aborted.

Vous devez être prudent lors de la définition d’une valeur trop élevée (ou illimitée) pour spark.driver.maxResultSize .You should be careful when setting an excessively high (or unlimited) value for spark.driver.maxResultSize. Une limite élevée peut entraîner des erreurs de mémoire insuffisante dans le pilote si la spark.driver.memory propriété n’est pas définie suffisamment haut.A high limit can cause out-of-memory errors in the driver if the spark.driver.memory property is not set high enough.

Pour plus d’informations, consultez Propriétés de l' application Spark configuration .See Spark Configuration Application Properties for more details.