前言

微软发布了适用于Apache® Spark™的.NET 1.0 版,这是一个将 .NET 开发引入Apache® Spark™平台的开源包。由于 Microsoft 和开源社区的共同努力,此版本成为可能。1.0 版包括对面向.NET Standard 2.0 或更高版本的.NET 应用程序的支持。该版本还包含对 Apache® Spark™ DataFrame API(版本 2.3、2.4 和 3.0)的访问以及编写 Spark SQL 和创建用户定义函数 (UDF) 的能力。

以下代码片段是使用 Spark 从文档中生成字数的示例(请在此处浏览完整示例):

var docs = spark.Read().Option("header", true).Csv("documents.csv");
var filCol = Functions.Col("file");
var words = docs
    .Select(
        fileCol,
        // "a b c" => ["a", "b", "c"]
        Functions.Split(
            Functions.Col("words"), " ")
        .Alias("wordList"))
    // flatten into one row per word
    .Select(
        fileCol,
        // 1: ["a", "b", "c"] => 1: "a", 2: "b", 3: "c"
        Functions.Explode(
            Functions.Col("wordList"))
        .Alias("word"))
    .GroupBy(fileCol, Functions.Lower(Functions.Col("word")))
    .Count();

.NET for Apache® Spark™ 于两年前推出,旨在满足 .NET 社区日益增长的需求,以更轻松地构建大数据应用程序。最近的一项调查证实,使用该包的最大动机是利用现有的 .NET 开发技能和资源,包括现有库和框架的庞大 .NET 生态系统。该团队致力于产品的不断演进,以集成最新功能并使 API 与最新的 Spark 版本保持同步。有关项目历史和主要贡献者的更多信息,请阅读完整公告

入门

有几种入门方法。首先,阅读完整的.NET for Apache Spark 1.0 公告。那么你就可以: