我正在尝试使用以下命令将结果保存到文本文件中:
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")
我需要改变什么?我不明白这个错误。。。
3条答案
按热度按时间fcy6dtqo1#
如果要保存,请使用:
omvjsjqw2#
这个
foreach
操作返回Unit
,它是空返回值的替代:如果你想保存你原来的
results
您需要使用以下内容:否则,如果您试图将操作应用于
results.collect
然后保存结果,然后需要使用map
对每个元素做些别的事情(因为print
还返回Unit
).2vuwiymt3#
当我用初始化变量时,得到了相同的错误消息
spark.read
而不是sc
. 其中一个返回一个DataSet
那根本就不可能saveAsTextFile
方法,另一个返回一个rdd。希望它能帮助别人。