Вопрос в том, есть ли способ преобразовать значение JavaPairRDD в JavaRDD?
textFiles.keys(); //Return an RDD with the keys of each tuple.
textFiles.values(); // Return an RDD with the values of each tuple.
*** ОБНОВЛЕНИЕ:
Согласно вашемуобновленный вопрос, я думаю, что ниже достигается то, что вам нужно.Я создал два CSV-файла в каталоге "tmp".
one.csv:
one,1
two,2
three,3
two.csv:
four,4
five,5
six,6
Затем запустил следующий код ЛОКАЛЬНО:
String appName = UUID.randomUUID().toString();
SparkConf sc = new SparkConf().setAppName(appName).setMaster("local");
JavaSparkContext jsc = new JavaSparkContext(sc);
JavaPairRDD<String, String> fS = jsc.wholeTextFiles("tmp");
System.out.println("File names:");
fS.keys().collect().forEach(new Consumer<String>(){
public void accept(String t)
{
System.out.println(t);
}});
System.out.println("File content:");
fS.values().collect().forEach(new Consumer<String>(){
public void accept(String t)
{
System.out.println(t);
}});
jsc.close();
Производитследующий вывод (я удалил все ненужные выходные данные Spark и отредактировал пути к моим каталогам)
File names:
file:/......[my dir here]/one.csv
file:/......[my dir here]/two.csv
File content:
one,1
two,2
three,3
four,4
five,5
six,6
Похоже, это то, что вы просили ...