.NET for Apache Spark 1.0 版本发布

.NET for Apache Spark 1.0 现已发布,这是一个用于 Spark 大数据的 .NET 框架,可以让 .NET 开发者轻松地使用 Apache Spark。

该软件包由微软和 .NET Foundation 牵头,经过大约两年的开发。在 2019 年的 Spark + AI 峰会上,微软曾宣布推出 .NET for Apache Spark,并发布了首个预览版本 v0.1.0

1.0 版本包括以下内容:

  • 支持面向 .NET Standard 2.0 的 .NET 应用程序(建议使用 .NET Core 3.1 或更高版本)。
  • 支持 Apache Spark 2.4/3.0 DataFrame API,包括编写 Spark SQL 的功能。例如:
var spark = SparkSession.Builder().GetOrCreate();
var tweets = spark.Read().Schema("date STRING, time STRING, author STRING, tweet STRING").Format("csv").Load(inputfile);
tweets = tweets.GroupBy(Lower(Col("author")).As("author"))
               .Agg(Count("tweet").As("tweetcount"))
               .OrderBy(Desc("tweetcount"));
tweets.Write().SaveAsTable("tweetcount");
spark.Sql(@"SELECT * FROM tweetcount").show();
  • 能够使用 .NET 用户自定义函数(UDF)编 写Apache Spark 应用程序。例如:
// Define and register UDF
var concat = Udf<int?, string, string>((age, name)=>name+age);

// Use UDF
df.Filter(df["age"] > 21).Select(concat(df["age"], df["name"]).Show();
  • 提供 API 扩展框架以添加对其他 Spark 库的支持。当前包括对 Linux foundation Delta LakeMicrosoft OSS HyperspaceML.NET、以及对 Apache Spark’s MLLib functionality 的支持。
  • 在 Spark 运行时和 .NET UDFs 之间移动数据的性能工作和改进 pickling interop 以及对 Apache Arrow 的支持。
  • 竞争优势:没有使用 UDF 的 .NET for Apache Spark 程序与基于 Scala 和 PySpark 的非 UDF Spark 应用程序显示出相同的速度。如果应用程序包含UDF,.NET for Apache Spark 程序的速度至少和 PySpark 程序一样快,一般来说更快。 

下载地址:https://www.nuget.org/packages/Microsoft.Spark 

猜你喜欢

转载自www.oschina.net/news/119553/net-1-0-for-apache-spark-released