val reduced_rdd = mofm.reduceByKey(_ + _)
.map(item => item.swap)
.sortByKey(false)
.take(5)
.saveAsTextFile("/home/scrapbook/tutorial/IPLData/")
给出错误:
<console>:40: error: value saveAsTextFile is not a member of Array[(Int, String)]
val reduced_rdd = mofm.reduceByKey(_ + _).map(item => item.swap).sortByKey(false).take(5).saveAsTextFile("/home/scrapbook/tutorial/IPLData/")
答案 0 :(得分:0)
public class Program
{
public static void Main()
{
IBar<IX> x = new Bar<Y>() { };
// ^^^ Cannot implicitly convert type 'Bar<Y>' to 'IBar<IX>'. An explicit conversion exists (are you missing a cast?)
}
}
public interface IBar<T> where T : IX
{
void In(T item);
T Out { get; }
}
public class Bar<T> : IBar<T> where T : IX
{
public void In(T item) { }
public T Out { get { return default(T); } }
}
public interface IX { }
public class Y : IX { }
导致RDD类型被删除。
saveAsTextFile需要一个RDD;您在take(5)或collect之后不再拥有它。
您需要:
.take(5) or .collect
答案 1 :(得分:0)
take(5) is an action on RDD which returns a Array (list).
这意味着没有调用saveAsTextFile方法,因为数组没有此类方法。
这也是错误提示-
saveAsTextFile不是数组的成员
对RDD进行的任何操作都会返回实际的数据集(取决于调用的操作)
您可以在此处了解Spark中的不同操作功能-Actions in Spark RDD
现在,如果要将RDD中的数据保存到文本文件中,则需要在rdd上调用saveAsTextFile(“ path_to_file”)。