如何热切地执行火花变换?

问题描述 投票:1回答:1

由于火花的变换被懒惰地评估,我们有什么方法可以急切地执行变换?

是否需要进行任何配置更改?

例如,我有以下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))

按照正常执行,一旦调用动作,将执行所有转换。

在行动之前可以执行任何这些转换吗?

scala apache-spark spark-streaming lazy-evaluation scala-collections
1个回答
1
投票

我会说不。如果急切地执行任何api,那么它可以被称为动作而不是转换。 Reducebykey是一种转换,但是reduce是一种行为。我没有提到懒惰评估的原因,因为您可能已经意识到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.