Microsoft.Spark 中 Take 方法的方法未实现异常
Posted
技术标签:
【中文标题】Microsoft.Spark 中 Take 方法的方法未实现异常【英文标题】:Method not implemented exception on Take method in Microsoft.Spark 【发布时间】:2019-05-10 07:33:13 【问题描述】:我正在尝试使用新的 Microsoft.Spark 库设置 spark。 DataFrame.PrintSchema 方法工作正常,但是 DataFrame.Take() 方法给出了 System.NotImplementedException。 Allot 的其他方法也给出了这个例外。
我查看了源代码,发现“Take”方法调用了 collect 方法,但在调用 collectToPython 时失败。
SparkSession spark = SparkSession
.Builder()
.AppName(".NET Spark")
.GetOrCreate();
DataFrame dataFrame = spark.Read().Json("people.json");
IEnumerable<Row> rows = dataFrame.Take(1);
这只是一个尚未完成的 Microsoft 库吗?还是我做错了什么?
【问题讨论】:
Take
是集合的扩展方法,仅当您添加 System.Linq
作为对项目的引用时,您才能使用它。
@Jan-Wiebe 这能解决问题吗?
【参考方案1】:
您尝试过最新发布的版本吗?我使用了 v0.2.0,以下工作正常:
var spark = SparkSession.Builder().GetOrCreate();
var df = spark.Read().Json("people.json");
IEnumerable<Row> rows = df.Take(1);
foreach (var row in rows)
Console.WriteLine(row.Get("name"));
spark.Stop();
【讨论】:
以上是关于Microsoft.Spark 中 Take 方法的方法未实现异常的主要内容,如果未能解决你的问题,请参考以下文章
当我在 Windows 7 中运行“first”或“take”方法时 pyspark 崩溃
如何使用 Take 和 Skip 方法从数据库表中获取所有条目?
NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分页获取数据失败