マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

1兆ドル以上のメッセージの価値はもっと見て昨日マイクロソフト、その後、何?私たちは多くの理由を見つけることができますが、私は、オープンソース戦略的関係の多くと牙山最高経営責任者(CEO)を考えます。過去からMicrosoftのオープンソースの.NET WSLにオープンソースのライバルに対するマイクロソフトのオープンソースのクラウド今日の腕に。最近スパーク+ AIサミットでは、Microsoftが章を追加しましたので、ビッグデータの分野では、Apacheのスパークのためのオープンソースの.NETをリリースしました。この記事では、プロジェクトをご紹介Bugs'll。

アウトライン

我々はまた、導入しました、Apacheのスパークは、エンジンの処理はApache Foundationの最も人気のあるオープンソースの分散メモリ型ビッグデータです。スパークは、バッチデータ処理、リアルタイムストリーミングデータ、機械学習とデータクエリのリアルタイムサポートのために使用することができます。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

Apacheのスパークスパークプロジェクトの.NETは、主に、.NET開発者を容易にするために、スパークAPIライブラリ全体でネイティブ動作し、大規模なデータ分析を作成するために使用されます。スパークはScalaの、ジャワ、RおよびPythonのための公式のサポートを持っていた、これまでに追加.NET。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

.NET財団は、プロジェクトから解放としてApacheスパーク用の.NETが開き、プロジェクトはGithubのでリリースされている、あなたはGitHubのを経由して、すべてのソースコードを入手することができます(倉庫githubの:/ DOTNET /スパーク)。

入門

Apacheのスパークのための.NETは、高性能APIのアプリケーションはネイティブの.NETのために、彼は動作層を動作させるスパークに詰め提供し、複数の言語にライブラリへの高性能なアクセスを提供することができ、C#とF#.NETと他の言語をサポートしています。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

.NET APIを使用して、我々は、Spark SQL、データフレーム、ストリーミング、MLLibなどを含め、Apacheのスパークのすべてのコンポーネントを、効率的にアクセスすることができます。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

.NET for Apache Spark符合.NET标准,遵循.NET API的正式规范,我们在.NET代码中随时引入,插拔式的插入,非常容易扩展。现有.net项目和代码,编码习惯等都可以无缝引入到.NET for Apache Spark的项目开。基于.NET Standard 2.0,可以括平台在Linux,macOS和Windows上使用,还支持云架构,微软云Azure HDInsight中已经默认启用,也可以安装在Azure Databricks等中。

实例入门

.NET for Apache Spark的使用需要预装.net core和Spark包括:

.NET Core 2.1 SDK

Java 1.8

Apache Spark 2.4.1

Microsoft.Spark.Worker

安装设置好以上软件后,就可以开始Spark应用的开发了,本我们提供两个简单实例分别说明在C#和F#的应用。

C# 实例:

//创建一个Spark session

var spark = SparkSession

.Builder()

.AppName("word_count_sample")

.GetOrCreate();

//创建一个数据框

DataFrame dataFrame = spark.Read().Text("input.txt");

//操纵和查看数据

var words = dataFrame.Select(Split(dataFrame["value"], " ").Alias("words"));

words.Select(Explode(words["words"])

.Alias("word"))

.GroupBy("word")

.Count()

.Show();

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

F#:实例

//创建一个Spark session

let spark =

SparkSesstion.Builder()

.AppName("word_count_sample")

.GetOrCreate()

//创建一个数据框

let df = spark.Read().Text("input.txt")

let words = df.Select(Split(df.["value"], " ").Alias("words")

words.Select(Explode(words["words"]).Alias("word"))

.GroupBy("word")

.Count()

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

性能分析

数据分析很重要的一个方面就能高性能性操作和分析。.NET for Apache Spark在发布之前就做了很多的系能测试,官方对其预览版本进行了TPC-H基准测试,结果显示.NET for Apache Spark系能表象良好。官方进行的TPC-H基准包含一套面向业务的查询。下面的图例说明了在TPC-H查询集上.NET Core与Python和Scala的性能对比。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

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

TPC-H基准测试中所有22个查询的总执行时间(秒)(越低越好)结果如下图所示。

マイクロソフトは、Spark、効率的かつ強力なの.NETバージョンをリリース

 

数据源自TPC-H基准测试的内部运行,在Ubuntu 16.04上使用热执行。

当然由于基准测试使用的是.NET for Apache Spark预览,没有很多的优化,正式版本的性能会有更进一步的优化和提高。

发展展望

正式发布后Visual Studio Code才算是踏上万里长征的第一步,官方也提供了以后发展路线图,提供值得期望的有:

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

Visual Studioのは、Visual Studioのコード、JupyterNoteや他の開発ツールとの有機的統合

.NETサポートユーザ定義集約関数

F#、C#、共通API及び実施例(例えば、LINQクエリを使用して)を提供

使用する準備ができて、箱から出しアズールDatabricks、Kubernetesおよびその他のサポートを提供しました。

スパークスパークスパークスパークのための.NETを構築します。

出典:SEO会社

おすすめ

転載: www.cnblogs.com/1994jinnan/p/12324628.html