日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark

發(fā)布時間:2023/12/4 asp.net 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天早上六點(diǎn)半左右微信群里就看到張隊(duì)發(fā)的關(guān)于.NET Spark大數(shù)據(jù)的鏈接https://devblogs.microsoft.com/dotnet/introducing-net-for-apache-spark/ ,正印證了“微軟在不斷通過.NET Core補(bǔ)齊各領(lǐng)域開發(fā),真正實(shí)現(xiàn)一種語言的跨平臺”這句話。那么我們今天就來看看這個 .NET for Apache Spark到底是個什么鬼?

作者:依樂祝
原文鏈接:https://www.cnblogs.com/yilezhu/p/10767910.html

什么是.NET for Apache Spark?

我們都知道Spark是一種流行的開源分布式處理引擎,適用于大型數(shù)據(jù)集(通常是TB級別)的分析。Spark可用于處理批量數(shù)據(jù),實(shí)時流,機(jī)器學(xué)習(xí)和即時查詢。處理任務(wù)分布在一個節(jié)點(diǎn)集群上,數(shù)據(jù)被緩存在內(nèi)存中,以減少計(jì)算時間。到目前為止,Spark已經(jīng)可以通過Scala,Java,Python和R訪問,卻不能通過.NET進(jìn)行訪問。

而.NET for Apache Spark就是旨在使.NET開發(fā)人員可以跨所有Spark API訪問Apache?Spark?。

.NET for Apache Spark為C#和F#提供了高性能的API來操作Spark。使用這個.NET API,您可以訪問Apache Spark的所有功能,包括SparkSQL、DataFrames、流、MLLib等等。.NET for Apache Spark允許您重用作為.NET開發(fā)人員已經(jīng)擁有的所有知識、技能、代碼和庫。

C#/F#語言綁定到Spark將被寫入一個新的Spark交互層,這提供了更容易的擴(kuò)展性。這一新的Spark交互層的編寫考慮了語言擴(kuò)展的最佳實(shí)踐,并針對交互和性能進(jìn)行了優(yōu)化。長期來看,這種擴(kuò)展性可以用于在Spark中添加對其他語言的支持。

.NET for Apache Spark符合.NET Standard 2.0標(biāo)準(zhǔn),可以在Linux、MacOS和Windows上使用。

官網(wǎng)地址:https://dotnet.microsoft.com/apps/data/spark

快速開始.NET for Apache Spark

在本節(jié)中,我們將展示如何在Windows上使用.NET Core運(yùn)行.NET for Apache SPark應(yīng)用程序。

在開始使用.NET for Apache Spark之前,確實(shí)需要安裝一些東西,如:.NET Core 2.1 SDK | Visual Studio 2019 | Java 1.8 | Apache Spark 2.4.x。具體步驟可以參考這些步驟開始.net for Apache SPark。

一旦安裝完畢,您就可以用三個簡單的步驟開始在.NET中編寫Spark應(yīng)用程序。

在我們的第一個.NET Spark應(yīng)用程序中,我們將編寫一個基本的Spark pipeline,它將統(tǒng)計(jì)文本段中每個單詞的出現(xiàn)次數(shù)。

// 1. Create a Spark session
var spark = SparkSession
.Builder()
.AppName("word_count_sample")
.GetOrCreate();

// 2. Create a DataFrame
DataFrame dataFrame = spark.Read().Text("input.txt");

// 3. Manipulate and view data
var words = dataFrame.Select(Split(dataFrame["value"], " ").Alias("words"));

words.Select(Explode(words["words"])
.Alias("word"))
.GroupBy("word")
.Count()
.Show();

.NET For Apache Spark的特點(diǎn)

可以用C#或者F# 進(jìn)行Apache Spark開發(fā)

.NET for Apache Spark 為您提供了使用 C# 和F# 來操作Apache Spark的APIs。使用這些.NET API,您可以訪問Apache Spark的所有功能,包括Spark SQL,用于處理結(jié)構(gòu)化數(shù)據(jù)和Spark流。

高性能

第一版的.NET for Apache Spark在流行的TPC-H基準(zhǔn)性能測試中的表現(xiàn)就很優(yōu)異。TPC-H基準(zhǔn)性能測試由一組面向業(yè)務(wù)的查詢組成。下圖展示了.NET Core與Python和Scala在TPC-H查詢集上的性能比較。

上面的圖表顯示了相對于Python和Scala,.NET對于Apache Spark的每個查詢性能對比。NET for Apache Spark在Python和Scala上表現(xiàn)良好。此外,在UDF性能至關(guān)重要的情況下,比如查詢1,JVM和CLR.NET之間傳遞3B行非字符串?dāng)?shù)據(jù)的速度比Python快2倍。

同樣重要的是,這是.NET for Apache Spark的第一個預(yù)覽版,我們的目標(biāo)是進(jìn)一步投資于改進(jìn)和基準(zhǔn)測試性能(例如,Arrow優(yōu)化)。您可以按照我們的指示在我們的GitHub倉儲上對此進(jìn)行基準(zhǔn)測試。

利用.NET生態(tài)系統(tǒng)

.NET For Apache Spark允許您重用作為.NET開發(fā)人員已經(jīng)擁有的所有知識、技能、代碼和庫。

您的數(shù)據(jù)處理代碼還可以利用.NET開發(fā)人員可以使用的大型庫生態(tài)系統(tǒng),如Newtonsoft.Json,ML.NET、MathNet.NDigics、NodaTime等。

跨平臺

.NET for Apache Spark可以在Linux、MacOS和Windows上使用,就像.NET的其他部分一樣。

.NET for Apache Spark在Azure HDInsight中默認(rèn)可用,可以安裝在Azure Databricks、Azure Kubernetes服務(wù)、AWS數(shù)據(jù)庫、AWS EMR等中。

開源免費(fèi)

.NET for Apache Spark是一個擁有來自3,700多家企業(yè)的60,000多名代碼貢獻(xiàn)者的強(qiáng)大開源社區(qū)的一部分。

.NET是免費(fèi)的,其中包括用于 .NET for Apache Spark。沒有任何費(fèi)用或許可證費(fèi)用,包括用于商業(yè)用途的費(fèi)用。

.NET For Apache Spark的下一步計(jì)劃

今天是我們旅程的第一步。以下是我們近期路線圖的一些特點(diǎn)。

  • 簡化入門經(jīng)驗(yàn)、文檔和示例

  • 原生集成到開發(fā)人員工具中,如VisualStudio、VisualStudio Code、木星筆記本

  • .net對用戶定義的聚合函數(shù)的支持

  • NET的C#和F#的慣用API(例如,使用LINQ編寫查詢)

  • 用Azure數(shù)據(jù)庫、Kubernetes等提供的開箱即用的支持。

  • 使.NET for Apache Spark成為Spark Core的一部分。

總結(jié)

.NET for Apache Spark是微軟使.NET成為構(gòu)建大數(shù)據(jù)應(yīng)用程序的偉大技術(shù)棧的第一步。
想了解更多信息的可以訪問.NET for Apache Spark的github倉儲:https://github.com/dotnet/spark 。
最后,感謝您的閱讀。
本文內(nèi)容,部分參考自:https://devblogs.microsoft.com/dotnet/introducing-net-for-apache-spark/


總結(jié)

以上是生活随笔為你收集整理的分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。