分享到: 分享到QQ  分享到Twitter

作者: BigLoser    访问次数: 977 创建时间: 2020-11-02 19:03:37 更新时间: 2024-03-29 18:44:57

.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 

年度最有价值文章

季度最有价值文章

月度最有价值文章

投票统计

是否原创: 0 %

0 % Complete (success)

是否有价值: 0 %

0% Complete

是否有素质: 0 %

0% Complete (warning)

是否合法: 0 %

0% Complete

   群组工具

   外部链接