Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 错误:值saveAsTextFile不是Unit-Spark的成员_Scala_Apache Spark - Fatal编程技术网

Scala 错误:值saveAsTextFile不是Unit-Spark的成员

Scala 错误:值saveAsTextFile不是Unit-Spark的成员,scala,apache-spark,Scala,Apache Spark,我正在尝试使用以下命令将结果保存到文本文件中: results.collect().foreach { rule => println("[" + rule.antecedent.mkString(",") + "=>" + rule.consequent.mkString(",") + "]," + rule.confidence)}.saveAsTextFile("/user/cloudera/rules") 但我有一个错误: <console>:43: error

我正在尝试使用以下命令将结果保存到文本文件中:

results.collect().foreach { rule => println("[" + rule.antecedent.mkString(",") + "=>" + rule.consequent.mkString(",") + "]," + rule.confidence)}.saveAsTextFile("/user/cloudera/rules")
但我有一个错误:

<console>:43: error: value saveAsTextFile is not a member of Unit
              results.collect().foreach { rule => println("[" + rule.antecedent.mkString(",") + "=>" + rule.consequent.mkString(",") + "]," + rule.confidence)}.saveAsTextFile("/user/cloudera/rules")
:43:错误:值saveAsTextFile不是单元的成员
results.collect().foreach{rule=>println(“[”+rule.antecedent.mkString(“,”+“=>”+rule.restinent.mkString(“,”+”),“+rule.confidence)}.saveAsTextFile(“/user/cloudera/rules”)

我需要改变什么?我不理解错误…

foreach操作返回一个
单元
,它是空返回值的替代:

scala> val a = (0 to 5).foreach(println)
0
1
2
3
4
5
a: Unit = ()
如果要保存原始的
结果
,则需要使用以下内容:

results.collect.saveAsTextFile(...)

否则,如果您试图对
结果的每个元素应用操作。收集
然后保存结果,则需要使用
映射
,并对每个元素执行其他操作(因为
打印
也会返回
单位
)。

如果要保存,请使用:

results.map { rule => 
     "[" + rule.antecedent.mkString(",") + "=>" + rule.consequent.mkString(",") + "]," + rule.confidence
}.saveAsTextFile("/user/cloudera/rules")

当我用
spark初始化变量时,我收到了相同的错误消息。读取
而不是
sc
。其中一个返回一个不包含
saveAsTextFile
方法的
DataSet
,另一个返回包含该方法的RDD。希望它能帮助别人