【开源资讯】微软发布 .NET for Apache Spark 预览版

脱发程序员 2019-04-29 09:59:52 ⋅ 97 阅读

自从微软收购了GitHub后,越来越拥抱开源了。在今年的 Spark + AI 峰会上,微软宣布 .NET for Apache Spark,并推出了首个预览版本 v0.1.0,这是一个用于 Spark 大数据的 .NET 框架,可以让 .NET 开发者轻松地使用 Apache Spark。近期在.net Foundation GitHub看到开源了.NET for Apache Spark。



从更新记录上看到还在不断的更新内容。

.NET for Apache®Spark™

.NET for Apache Spark 提供高性能的 .NET API 以便轻松的在 C# 和 F# 程序中使用 Apache Spark 。你可以访问最受欢迎的 Dataframe 和 SparkSQL ,可以处理结构化数据和 Spark Structured Streaming 流数据。

.NET for Apache Spark符合.NET标准 - .NET API的正式规范,在.NET实现中很常见。这意味着您可以在编写.NET代码的任何地方使用.NET for Apache Spark,从而允许您重用作为.NET开发人员已有的所有知识,技能,代码和库。


.NET for Apache®Spark 架构


.NET for Apache Spark 兼容 .NET 标准,支持 Windows, Linux 和 macOS ,使用 .NET Core,或者是 Windows 下使用 .NET Framework。同时也可以运行在主流的云平台上,包括:Azure HDInsight SparkAmazon EMR SparkAWS & Azure Databricks.


.NET for Apache®Spark 性能

一项新技术的诞生作为技术人员首先考虑到的是有哪些方面比较突出或者吸引眼球的地方,那么大家可以看一下.net for apache spark 的性能表现:


上图显示了针对Apache Spark与Python和Scala的.NET的每个查询性能。.NET for Apache Spark在Python和Scala上运行良好。此外,在UDF性能至关重要的情况下,例如查询1,其中在JVM和CLR .NET之间传递3B行非字符串数据,Apache Spark比Python快2倍。

同样重要的是要说这是我们为Apache Spark首次推出的.NET,我们的目标是进一步投资改进和基准性能(例如Arrow优化)。您可以按照我们的说明在我们的GitHub仓库上对此进行基准测试。

可以说是完全碾压毫无压力!


.NET for Apache®Spark 下一步展望

.NET for Apache Spark是将.NET打造成构建大数据应用程序的重要技术堆栈的第一步。近期规划路线

  • 简化入门体验,文档和示例

  • 与Visual Studio,Visual Studio Code,Jupyter笔记本等开发人员工具进行本机集成

  • .NET支持用户定义的聚合函数

  • 用于C#和F#的.NET惯用API(例如,使用LINQ编写查询)

  • 开发即用支持Azure Databricks,Kubernetes等。

  • 为Spark Spark创建.NET for Spark Spark。您可以
    在此处关注此进度。


.NET for Apache®Spark 入门

  1. 准备条件

    有关详细说明,您可以在Windows上看到从源代码构建针对Apache Spark的.NET

    • 从.NET为Apache Spark GitHub Releases页面选择Microsoft.Spark.Worker版本并下载到本地计算机(例如c:\bin\Microsoft.Spark.Worker\)。

    • 重要信息创建新的环境变量 DotnetWorkerPath并将其设置为下载并解压缩Microsoft.Spark.Worker的目录(例如,c:\bin\Microsoft.Spark.Worker)。

    • 下载并安装以下内容:.NET Core 2.1 SDK | Visual Studio 2019 | Java 1.8 | Apache Spark 2.4.1

    • 下载并安装Microsoft.Spark.Worker版本:

  2. 为Apache Spark应用程序编写.NET

    • 打开Visual Studio - >创建新项目 - >控制台应用程序(.NET Core) - >名称: HelloSpark

    • Microsoft.Sparkspark nuget.org feed中将Nuget包安装到解决方案中- 请参阅安装Nuget Package的方法

    • 将以下代码写入Program.cs

        var  spark  =  SparkSessionBuilder()。GetOrCreate();
      var df = spark阅读()。Json people.json );
      df显示();
    • 构建解决方案

  3. 运行.NET for Apache Spark App

    • 打开终端并导航到您的app文件夹:

           cd <your-app-output-directory>
    • people.json使用以下内容创建

          {  name  Michael  }
      {
      name Andy 年龄30 }
      {
      name 贾斯汀年龄19 }
    • 运行你的应用程序

           spark-submit `
      --class org.apache.spark.deploy.DotnetRunner `
      --master local `
      microsoft-spark-2.4.x-<version>.jar `
      HelloSpark

请注意,此命令假定您已下载Apache Spark并将其添加到PATH环境变量中。


开源地址:https://github.com/dotnet/spark

---------------END----------------

后续的内容同样精彩

长按关注“IT实战联盟”哦






全部评论: 0

    我有话说:

    开源资讯」.NET 5.0 RC 2 发布

    上周发布了 .NET 5.0 RC 2,此版本已接近最终发布,也是11月正式发布前的最后一个 RC 版本。还表示这是一个“go live”版本,支持用于生产环境,当然这不是指稳定性方面具备

    Android 12 最后一个开发发布

    谷歌已经发布了 Android 12 的第三个开发,这也是最后一个以开发者为中心的构建版本。第一个 Android 12 测试将在 5 月到来,第二个和第三个测试构建则将在 6 月至 7

    Android 12 开发 2.2 发布

    上月底,Google 发布了 Android 12 DP 2.1,解决了 WebView 崩溃的大问题。目前,开发 2.2 已经向运行 Android 12 的 Pixel 手机正式推出

    改进 Chromium 标签页恢复功能

      正在为 Chromium 改进标签页恢复功能,以提升 Edge 和 Chrome 的可靠性。 当 Chrome/Edge 遭遇意外关闭或崩溃时,再次启动后会提供恢复标签页及其会

    红旗 Linux 桌面系统发布 v11 ,1月10日开放下载

    近日,国产操作系统红旗 Linux 官网上线最新的红旗 Linux 桌面操作系统 v11 社区,更新内容包括多项组件更新和全新的主题界面等。 据悉,最新的红旗 Linux 桌面系统 v11

    【重磅】正式宣布 .NET5支持跨平台、移动开发

    前言近期正式宣布 .NET Core 3.0 之后的下一个版本将是 .NET 5 。

    开源资讯」JPress v3.2.1 发布,新增模板功能

    JPress 是一个使用 Java 开发的类似 WordPress 的产品,具有完善的模板和插件功能,并在此基础上新增了在线商城、会员中心以及和信深度整合的功能。

    红旗 Linux 桌面操作系统 V11 社区开放下载

    红旗 Linux 桌面操作系统 V11 社区已正式开放下载。 获取地址 红旗云盘:http://pan.chinaredflag.cn/d/b16eaefee1c845bc853f/百度网盘

    开源资讯】JWCloud 专业 v1.0.0 发布,基于 SpringCloud 研发的服务框架

    简介 JavaWeb_Cloud 服务平台是一款基于 SpringCloud 框架研发的分布式微服务框架,主要使用技术栈包括: SpringCloud、Vue、ElementUI

    Visual Studio 2019 v16.9 Preview 3 发布

    Visual Studio 2019 v16.9 Preview 3 已经发布,这是其 2021 年的第一个。此次更新涉及 C++、.NET 生产力、测试资源管理器、辅助功能和

    开源资讯」BookChat v2.4 发布,通用书籍阅读信小程序

    BookChat - 面向程序员的开源书籍和文档阅读学习小程序

    桌面开发团队成员称:不会将Windows迁移到Linux

    Canonical 桌面团队成员 Hayden Barnes 发表个人观点称,他认为不会将 Windows 迁移到 Linux。   近段时间以来,积极融合 Linux 的举措

    开源资讯Apache Tomcat 8.5.49 发布

    更新说明Apache Tomcat 8.5.49 发布了。8.5.x 替换了 8.0.x,并包含了一些从 9

    Apache Beam 2.25.0 发布,大数据流处理与批处理编程范式

    Apache Beam 2.25.0 发布了。Beam 是一个用于定义和执行数据处理管道的统一编程模型,包括 ETL、批处理与流处理。Beam 项目重点在于数据处理的编程范式和接口定义,并不涉及具体

    Apache HBase 2.3.2 发布,分布式存储系统

    Apache HBase 2.3.2 已经发布。HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC

    Apache Camel 3.6.0 发布,集成项目工具

    简介 Apache Camel 作为集成项目的利器,针对应用集成场景的抽象出了一套消息交互模型,通过组件的方式进行第三方系统的接入,目前 Apache Camel 已经提供了 300 多种

    Visual Studio 2019 v16.9 Preview 2 发布

    宣布推出 Visual Studio 2019 v16.9 Preview 2,该版本包括了在 C++、.NET 生产力、XAML 工具(包括 Xamarin.Forms)、Web

    Apache Spark 3.0 发布,包含3400 多个补丁,TPC-DS 性能提升2倍。

    Spark 是用于大数据处理,数据科学,机器学习和数据分析等领域的统一引擎。