Как выполнить искровое преобразование с нетерпением? - PullRequest
0 голосов
/ 30 августа 2018

Поскольку преобразования в искре лениво оцениваются, есть ли способ, как мы можем выполнить преобразование охотно?

Требуется ли изменение конфигурации для этого?

Например, у меня есть следующий пример кода scala:

val args = Array("/Users/kvkv/Documents/backups/h/FeedsData.txt",
                "/Users/kvkv/Documents/backups/h/spark/output/FeedsDataOutput")
val conf = new SparkConf();
val sc = new SparkContext("local", "FeedsData.txt", conf);
val input= sc.textFile(args(0));
val feedsRdd = input.filter(line => line.contains("Feeds Info : "))
val feedswords = feedsRdd.flatMap(line => line.split(" "));
val counts = feedswords.map(word => (word, 1)).reduceByKey{case (x, y) => x+y}
counts.saveAsTextFile(args(1))

В соответствии с обычным выполнением, все преобразования будут выполняться после вызова действия.

Можно ли выполнить какое-либо из этих преобразований перед действием?

1 Ответ

0 голосов
/ 30 августа 2018

Я бы сказал нет. Если любой из API исполняется с нетерпением, то его можно назвать действием, а не преобразованием. Reducebykey - это преобразование, а сокращение - это действие. Я не упоминаю причину ленивой оценки, поскольку вы, возможно, уже знали об этом.

...