嗨,我正在尝试运行下面的示例,直接从莫比乌斯复制。但是,当尝试使用方法SaveAsTextFile(string )时,它不会找到该方法。相反,它显示了图1中的错误。
我指的是最新发布的"Microsoft.SparkCLR“version="1.6.100”。
var lines = sparkContext.TextFile(@"hdfs://path/to/input.txt");
var words = lines.FlatMap(s => s.Split(' '));
var wordCounts = words.Map(w => new KeyValuePair<string, int>(w.Trim(), 1))
.ReduceByKey((x, y) => x + y);
var wordCountCollection = wordCounts.Collect();
wordCounts.SaveAsTextFile(@"hdfs://path/to/wordcount.txt"); 图1:不包含definition....best可选的blah
发布于 2016-06-30 18:40:43
试试下面的一行,它就能工作了。
wordCounts.Map(wc => wc.Key + "," + wc.Value)
.SaveAsTextFile(@"hdfs://path/to/wordcount.txt");如图中的错误消息所示,如果RDD为string类型,则SaveAsTextFile()是可用的。上面的代码将键值对的RDD转换为字符串RDD。需要更新ReadMe文件中的代码示例。如果您感兴趣的话,可以随时发送一个PR来修复它。
Mobius项目中讨论了是否使SaveAsTextFile()可用于所有RDD类型。这方面的问题是,对于RDD中支持的类型的ToString,在写入文本文件时不一定会产生可读字符串。如果您对此有意见,请随意在GitHub中的Mobius回购中创建一个问题。
https://stackoverflow.com/questions/38122633
复制相似问题