Как можно посчитать слова нескольких файлов, присутствующих в каталоге, используя искры Scala

Gagan спросил: 03 ноября 2018 в 08:23 в: scala

Как я могу выполнить подсчет слов для нескольких файлов, представленных в каталоге, с помощью Apache Spark с Scala?

Все файлы имеют разделитель новой строки.

O / p должно быть:

file1.txt,5
file2.txt,6 ...

Я попытался использовать следующий способ:

val rdd= spark.sparkContext.wholeTextFiles("file:///C:/Datasets/DataFiles/")
val cnt=rdd.map(m =>( (m._1,m._2),1)).reduceByKey((a,b)=> a+b)

O / p Я получаю:

((file:/C:/Datasets/DataFiles/file1.txt,apple
orange
bag
apple
orange),1)
((file:/C:/Datasets/DataFiles/file2.txt,car
bike
truck
car
bike
truck),1)

Сначала я попытался sc.textFile(), но не дал мне имя файла. wholeTextFile() возвращает пару ключ-значение, в которой ключ является именем файла, но не смог получить желаемый результат.

0 ответов