Initialiser un RDD pour vider
J'ai un RDD appelé
JavaPairRDD<String, List<String>> existingRDD;
Maintenant, j'ai besoin d'initialiser cette existingRDD
à vide de sorte que lorsque je reçois le réel rdd est que je peux faire une union avec ce existingRDD
.
Comment initialiser existingRDD
à un vide RDD à l'exception de l'initialiser à null?
Voici mon code:
JavaPairRDD<String, List<String>> existingRDD;
if(ai.get()%10==0)
{
existingRDD.saveAsNewAPIHadoopFile("s3://manthan-impala-test/kinesis-dump/" + startTime + "/" + k + "/" + System.currentTimeMillis() + "/",
NullWritable.class, Text.class, TextOutputFormat.class); //on worker failure this will get overwritten
}
else
{
existingRDD.union(rdd);
}
source d'informationauteur Chaitra Bannihatti
Vous devez vous connecter pour publier un commentaire.
Je ne suis toujours pas sûr de ce que vous essayez de faire, mais vous pouvez créer un vide RDD comme suit :
J'ai confiance que vous savez comment utiliser les génériques, sinon, elle est ici :
Vous pouvez également utiliser le
mapToPair
méthode pour convertir votreJavaRDD
à unJavaPairRDD
.La solution dans scala :
En scala, j'ai utilisé "paralléliser" de commande.
@eliasah réponse est très utile, je suis en fournissant le code pour créer des vides paire de RDD. Imaginez un scénario dans lequel il est nécessaire de créer des vides paire de RDD (clé,valeur). Suite à la scala de code illustre comment créer des vides paire de RDD avec clé comme une Chaîne de caractères et la valeur comme de type Int.
CA serait créé comme suit :
En Java, créer le vide CA a été un peu complexe. J'ai essayé à l'aide de la scala.de réfléchir.classTag mais il ne fonctionne pas non plus. Après de nombreux tests, le code qui a travaillé était encore plus simple.
Déclaration ci-dessus va créer de vide RDD avec
String
TypeDe SparkContext classe:
En Java, de créer des vides paire de RDD comme suit: