.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 Lake、Microsoft OSS Hyperspace、ML.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法 - 排序算法

文章目录1 快速排序2 堆排序3.冒泡排序4.选择排序5.插入排序1 快速排序 时间复杂度 O(nlogn)不稳定在大多数情况下都是适用的&#xff0c;尤其在数据量大的时候性能优越性更加明显 def quicksort(start, end, nums):if start > end:return flag nums[start]r_ptr endl_pt…

fillrect不填充被覆盖的区域 mfc_quot;条带覆盖quot;猜想的中二证明:quot;球面条线覆盖或点覆盖quot;积分π...

注销&#xff1a;“黎曼猜想”复平面质数单向“虚”圆柱螺旋&#xff1a;几何法证明&#xff0c;技术应用​zhuanlan.zhihu.com假设有这样一部针点打印机从球心对球面打印&#xff0c;外部有一台蓝牙打印&#xff0c;球面打印蓝牙条带打印同步&#xff0c;球面被覆盖&#xff0…

让你变厉害的7个底层思维

职场&认知洞察 丨 作者 / findyi这是findyi公众号分享的第89篇原创文章如果把你的思维比做操作系统&#xff0c;那思维模型就是一个个App。这些App会给你提供新的视角&#xff0c;快速帮你决策&#xff0c;提升你的工作效率。顶级的思维模型能提高你成功的可能性&#xff0…

后端学习 - 计算机网络

文章目录一 基本概念1 计算机网络体系结构2 时延二 应用层&#xff1a;HTTP1 请求和响应报文、常见 header2 URL & RESTful API3 HTTP 协议通信过程4 HTTP 方法5 HTTP 状态码6 短连接、长连接与流水线7 Cookie8 Session三 应用层&#xff1a;HTTPS1 加密方式2 证书认证四 应…

跟我一起学Redis之Redis配置文件啃了一遍之后,从尴尬变得有底气了(总结了一张思维图)...

前言秋高气爽的一天&#xff0c;那时候年轻帅气的我正在参照着搜索引擎写代码&#xff0c;迷之微笑般的敲着键盘(又从搜索引擎上找到代码案例啦)&#xff0c;突然领导在小隔间里传来了呼唤声&#xff0c;然后有了以下场景&#xff1a;领导&#xff1a;小Z&#xff0c;你过来一下…

1093芯片做正弦波逆变器_长途自驾游“缺电”如何选购正确车载逆变器,避开商家套路...

让车友三分钟就能看明白如何选择车用逆变器&#xff0c;节约车友时间。长途自驾游充电是一个难题&#xff0c;手机充电还好办&#xff0c;其他笔记本、电饭煲、车载冰箱或者无人机电池等充电就会用到220V电源&#xff0c;那就必须用到逆变器(逆变器就是将12V或24V直流电&#x…

Spring 相关问题

文章目录Spring1 Spring 框架中用到的设计模式2 Spring 事务、隔离级别3 单例 Bean 是线程安全的吗Spring IOC1 Spring 容器&#xff1a;BeanFactory & ApplicationContext2 依赖注入的两种方式3 Bean 的生命周期4 依赖注入的四个注解5 如何解决循环依赖Spring AOP1 基本概…

达梦php_pdo不同机器安装

现象 extensionphp74_pdo_dm.so extensionlibphp74_dm.so 普通安装达梦pdo.so后运行php报错&#xff1a;Unable to start PDO_DM module in Unknown on line 0 机器上没有达梦服务器环境。 步骤&#xff1a; 1. 拷贝达梦php_pdo到php拓展目录下&#xff0c;更新php.ini。…

ndr4108贴片晶振是多少频率_关于山羊挺身你知道多少?这些干货速来了解一下...

就是因为有些人愿意吃苦&#xff0c;有些人缺乏决心毅力&#xff0c;才会有成功和失败之分。身材不是一天不运动或一天乱吃所造成&#xff0c;瘦身健身的效果也不是一天的努力可以看出来的。如同学业、事业&#xff0c;成功都不是一条直线&#xff0c;而是一条上上下下的崎岖路…

BeetleX之Websocket服务使用

BeetleX.FastHttpApi不仅是一个Webapi服务组件&#xff0c;它同时也是一个Websocket服务组件。由于BeetleX.FastHttpApi的实现是直接支持Websocket Upgrade操作&#xff0c;所以当启动服务后是HTTP还是Websocket完全取决于请求方&#xff1b;其原理和aspcore一样&#xff0c;同…

22日常实习面试记录

最后去快手了 文章目录字节跳动 后端开发实习生-新业务 一面TCL 鸿鹄实验室 一面字节跳动 飞书后端 一面快手 Java信息安全 一面快手 Java信息安全 二面快手 Java信息安全 三面比特大陆 软件开发实习生 一面比特大陆 软件开发实习生 二面字节跳动 后端开发实习生-新业务 一面 算…

typeorm_Nestjs 热更新 + typeorm 配置

Nestjs 开发环境热更新的方案Nestjs 的热更新是基于 Webpack HMR(Hot-Module Replacement) 方案警告请注意&#xff0c;webpack不会自动将您的资产(例如graphql文件)复制到dist文件夹。同样&#xff0c;webpack与glob静态路径(例如TypeOrmModule中的实体属性)不兼容。1 使用 CL…

缓存一致性和跨服务器查询的数据异构解决方案canal

当项目的请求量上去了之后&#xff0c;通常有两种做法来应对高并发&#xff0c;第一是尽最大可能的使用cache来对抗&#xff0c;第二是尽最大可能的分库分表对抗。。。说起来容易&#xff0c;做起来并不那么乐观&#xff0c;这一篇就来浅析下。一&#xff1a;如何保证缓存一致性…

synchronized 实现原理

参考链接 文章目录一 基本使用1 三个作用2 三种用法二 同步原理1 监视器 Monitor2 synchronized 用于同步代码块3 synchronized 用于同步方法3 Mark Word4 对象头的 Mark Word 和线程的 Lock Record三 锁的优化1 自旋锁2 锁消除3 锁粗化4 偏向锁5 轻量级锁、重量级锁以及三种锁…

开头th_是什么文件_Python文件读写最详细的讲解

本文来自公众号&#xff1a;可乐的数据分析之路今天这篇文章来详细讲解一下Python中的文件读写。1、文件读写的流程1)类比windows中手动操作txt文档&#xff0c;说明python中如何操作txt文件&#xff1f;① windows中手动操作txt文件的步骤找到word文档打开word文档查看(或操作…

把 Console 部署成 Windows 服务,四种方式总有一款适合你!

一&#xff1a;背景 1. 讲故事上周有一个项目交付&#xff0c;因为是医院级项目需要在客户的局域网独立部署。程序&#xff1a;netcore 2.0&#xff0c;操作系统&#xff1a;windows server 2012&#xff0c;坑爹的事情就来了, netcore sdk 一直装不上&#xff0c;网上找了资料…

AQS ReentrantLock 实现原理

参考链接 文章目录1 AQS (AbstractQuenedSynchronizer)2 Lock 接口与显式条件3 转账 Demo&#xff1a;解决死锁的两种方案4 ReentrantLock 非公平锁加锁流程5 ReentrantLock 和 synchronized 的异同6 ReentrantReadWriteLock1 AQS (AbstractQuenedSynchronizer) 基于 AQS 的同步…

TensorFlow 2学习和工业CV领域应用 心得分享

我是一名来自苏州的机器视觉开发者&#xff0c;从事传统的机器视觉算法开发有11年了&#xff0c;从2018年开始&#xff0c;因为一些复杂微弱的瑕疵检测项目遇到的传统算法瓶颈&#xff0c;开始接触到了深度学习&#xff0c;并选择了使用TensorFlow&#xff0c;期间也是不断摸索…

历史版本_新版本爆料第弹丨英雄练习新去处,荣耀历史秀出来!

《万物有灵》新版本即将到来新版本来临之前妲己宝宝给自己定下了2个小目标&#xff01;via.小五怎么不开心目标一扩展自己小得可怜的英雄勺成为一名拥有英雄海的补位大神目标二通过自己的实力获得N1个响当当的荣耀称号很多召唤师会有疑问&#xff1a;凭妲己宝宝的实力&#xff…

分布式锁的三种实现

参考链接 文章目录分布式锁的作用分布式锁应该具有的条件实现1 基于数据库实现2 基于 Redis实现3 基于 ZooKeeper分布式锁的作用 分布式锁是一种 跨机器的互斥机制 来控制 共享资源的访问 具体地&#xff0c;为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执…