Apache Spark mapPartitionsWithIndex
Quelqu'un peut-il donner un exemple d'utilisation correcte de mapPartitionsWithIndex en Java? J'ai trouvé beaucoup d'exemples Scala, mais il manque de Java. Est-ce que ma compréhension est correcte que des partitions séparées seront gérées par des nœuds séparés lors de l'utilisation de cette fonction.
Je reçois l'erreur suivante
method mapPartitionsWithIndex in class JavaRDD<T> cannot be applied to given types;
JavaRDD<String> rdd = sc.textFile(filename).mapPartitionsWithIndex
required: Function2<Integer,Iterator<String>,Iterator<R>>,boolean
found: <anonymous Function2<Integer,Iterator<String>,Iterator<JavaRDD<String>>>>
En faisant
JavaRDD<String> rdd = sc.textFile(filename).mapPartitionsWithIndex(
new Function2<Integer, Iterator<String>, Iterator<JavaRDD<String>> >() {
@Override
public Iterator<JavaRDD<String>> call(Integer ind, String s) {
4
1 answers
Voici le code que j'utilise pour enlever la première ligne d'un fichier csv:
JavaRDD<String> rawInputRdd = sparkContext.textFile(dataFile);
Function2 removeHeader= new Function2<Integer, Iterator<String>, Iterator<String>>(){
@Override
public Iterator<String> call(Integer ind, Iterator<String> iterator) throws Exception {
if(ind==0 && iterator.hasNext()){
iterator.next();
return iterator;
}else
return iterator;
}
};
JavaRDD<String> inputRdd = rawInputRdd.mapPartitionsWithIndex(removeHeader, false);
7
Author: Juh_, 2015-03-09 09:07:52