2017-10-13 37 views
-1

-je obtenir cette tentative de compilation avec SBTTrop d'arguments dans étincelle RDD.takeOrdered à Scala

sbt test 

[info] définition du projet de chargement/home/shared/Aalto/SCC/As1/RDD/projet [info] Définir le projet en cours sur rdd (dans le fichier de construction:/home/shared/Aalto/SCC/As1/rdd /) [info] Compiler 1 source Scala vers/home/partagé/Aalto/SCC/As1/rdd/target /scala-2.10/classes ... [erreur] /home/shared/Aalto/SCC/As1/rdd/src/main/scala/questions/GeoProcessor.scala:174: trop d'arguments pour la méthode takeOrdered: (num: Int) (commande implicite: Ordering [(String, Long)]) Array [(String, Long)] [erreur] txt = t xt.zipWithIndex.takeOrdered (txt.count.toInt-2, ((a, b) => a._2> b._2))

Et je ne vois pas ce 3ème argument c'est dire que j'ai. Ce que je voulais faire est de prendre tous les éléments mais les 2 premiers (pas sûr si c'est correct le> ou si ce devrait être un < à la place). Si ce n'est pas possible de faire comme ça, quelle autre bonne façon serait-il? J'ai déjà essayé de soustraire, le problème est qu'il les renvoie avec un ordre aléatoire. Je vous remercie.

+0

La prochaine fois, s'il vous plaît inclure le _code_ qui fait l'exception explicitement - il est caché dans le message d'erreur et difficile à trouver ... –

Répondre

2

Devrait être

import scala.math.Ordering 

rdd.takeOrdered(n)(Ordering.by(_._2)) 

ou

rdd.takeOrdered(n)(Ordering[Long].on(_._2) 
+0

J'ai essayé mais ne fonctionne toujours pas, maintenant il me donne: sbt test [info] Chargement de la définition de projet à partir de/home/shared/Aalto/SCC/As1/rdd/project [info] Définir le projet en cours à rdd (dans le fichier de construction:/accueil/partagé/Aalto/SCC/As1/rdd /) /home/shared/Aalto/SCC/As1/rdd/src/main/scala/questions/GeoProcessor.scala:174: incompatibilité de type; [error] trouvé: Array [(String, Long)] [error] requis: org.apache.spark.rdd.RDD [chaîne] [error] \t \t \t txt = txt.zipWithIndex.takeOrdered (txt.count .toInt-2) (Ordering [Long] .on (_._ 2)) –

+0

Incompatibilité de type basic, trouvé Array (String, Long), requis RDD (String) –

+0

Ah d'accord, mais c'est à cause de la tâche, c'est bien maintenant alors, merci! –