BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Microsoftが.NET for Apache Spark 1.0をリリース

Microsoftが.NET for Apache Spark 1.0をリリース

原文(投稿日:2020/11/28)へのリンク

Microsoftは先月、.NET for Apache Sparkの最初のメジャーバージョンをリリースした。これは、Apache Sparkプラットフォームで.NET開発できるようにするオープンソースパッケージである。新しいリリースでは、.NET開発者が、.NETユーザ定義関数、Spark SQL、およびMicrosoft HyperspaceeやML.NETなどの追加ライブラリを使用してApache Sparkアプリケーションを作成できるようになる。

Apache Sparkは、大規模なデータ処理用のオープンソースの汎用分析エンジンである。ストリーミング、SQL、機械学習、グラフ処理用の組み込みモジュールを備えている。最初にカリフォルニア大学バークレー校のAMPLabチームによって開発されたが、Hadoop分散ファイルシステム、NoSQLデータベース、リレーショナルデータストアなどのさまざまなデータリポジトリと組み合わせて使用できる。すべてのデータはメモリ内(RAM)で処理されるため、大規模なデータ処理の場合、SparkはHadoopよりも100倍高速になる。

Microsoftの.NET DataのシニアプログラムマネージャーであるJeremy Likness氏によると、このリリースは長年のコミュニティの需要に対応している。

.NET for Apache Sparkは、ビッグデータアプリケーションをより簡単に構築する方法に関して、.NETコミュニティからの高まる需要に対応するために2年前にリリースされました。最近の調査で、パッケージを使用する最大の動機は、既存の.NET開発スキルとリソースを活用することであることが確認されています。既存のライブラリとフレームワークの巨大な.NETエコシステムも含まれます。


.NET for Apache Sparkは、主要なSpark機能を.NET開発エコシステムにもたらす。DataFrame API(バージョン2.3、2.4、3.0で、Spark SQLクエリの使用を可能にする)やSparkの機械学習ライブラリ(MLlib)のサポートが含まれる。.NET開発者は、ユーザ定義関数(UDF)を使用してSparkアプリケーションを作成することもできる。

このパッケージは、ライブラリを追加するためのAPI拡張フレームワークも提供する。ライブラリには、Delta Lake(SparkのACIDトランザクションのストレージレイヤー)、Microsoft Hyperspace(Sparkのインデックスサブシステム)、ML.NET(Microsoftの機械学習フレームワーク)などがある。これは、TensorFlowなどの他の機械学習ライブラリで拡張できるため、.NET開発者にとって興味深いものである。

パフォーマンスは、このリリースにおいて、もう1つの重要な側面である。Microsoftのベンチマークによると、UDFを使用しない.NET for Apache sparkプログラムは、ScalaおよびPySparkベースのUDFでないSparkアプリケーションと同じ速度を示している。アプリケーションにUDFが含まれている場合、.NET for Apache Sparkプログラムは少なくともPySparkプログラムと同じか、多くの場合はより高速である。

出典: Microsoft

公式リリースの記事には将来の機能の計画も含まれていた。LINQサポートや、CI/CD DevOpsパイプラインとの統合、Visual Studioからの直接のジョブ公開などの追加のデプロイオプションなどが計画されている。


.NET for Apache Sparkは、.NET Standard 2.0を対象とするすべての.NETアプリケーションをサポートする(.NET Core 3.1以降をお勧めします)。このパッケージは、.NET FoundationのGitHubでOSSプロジェクトとして入手でき、NuGetからダウンロードできる。また、Azure DatabricksAWS EMR Sparkなどの他のApache Sparkクラウド製品でも使用できる。オンプレミスデプロイの場合には、WindowsmacOSLinux向けのマルチプラットフォームサポートを提供する。

 

この記事に星をつける

おすすめ度
スタイル

BT