Apache Hadoopに相当する.NETはありますか?[閉まっている]


98

それで、私は鋭敏な興味を持ってHadoopを見てきました。正直、私は魅了されて、物事はそれほど冷たくなりません。

私のマイナーな唯一の問題は、C#開発者であり、Javaにあります。

Google MapReduceアプローチを採用するHadoop.net、NHadoop、または.NETプロジェクトを探しているのと同じくらい、Javaを理解していないわけではありません。誰か知っていますか?

回答:


57

Hadoopのストリーミングの使用を見てきましたか?

私はいつもそれをpythonで使っています:-)。

異機種混在のアプローチがしばしば最善であり、他の人々が同じことをしているように見えます。

プロトコルバッファやFacebookの古着のようなプロジェクトを見ると、別の言語で書かれたアプリを使用して、好みの言語で接着剤を作成するのが最善の場合があることがわかります。


2
これは、C#でHadoopを使用する技術ではなく、ストリーミングによりプロセスが分離され、データが文字列として渡されるため、それほど効率的ではありません。
Felice Pollano 2016

13

7
マイクロソフトはドライアドをキャンセルし、Hadoopに固執することを決定
Arnon Rotem-Gal-Oz

@ ArnonRotem-Gal-Oz:Microsoftからのそのステートメントの参照はありますか?
アベル

4
blogs.technet.com/b/windowshpc/archive/2011/11/11/…を参照してください-"このリリースの一部として、LINQのプレビューバージョンもHPCに更新しましたが、これが最終的なプレビューとなります。本番リリースを進める予定はありません。PASSカンファレンスでの10月の発表に合わせて、Apache HadoopをWindows ServerとWindows Azureの両方に導入することに注力します... "
Arnon Rotem-Gal-Oz

13

最近、MySpaceが.NET MapReduceフレームワークQizmtをオープンソースとしてリリースしたため、これもこの分野での潜在的な候補です。


2
彼らのライセンスはGPLです;(もし彼らがより制限の少ないものを選んだなら素晴らしいでしょう...
IgorK 2010

3
この場合、GPLが邪魔になることはほとんどありません。変更をソースに加えた場合(行った場合)、組織の外部に配布しない限り、コードをリリースする必要はありません。
foxxtrot 2011

弊社はクローズドソース製品を(製品会社として)配布しています。そして、GPL化されたソフトウェアコンポーネントに依存しようとした場合、ソースも自動的に配布する必要があります。クローズドソースプロジェクトにライブラリを含めても問題ないのはLGPLではありません:(
IgorK

完全に公正です。ほとんどの人がMap-Reduceフレームワークを使用しても、この制限はないと思います。そうは言っても、MySpaceがこれをGPLとしてリリースしたビジネスケースは、個別にライセンスされていないことがわかる限り、理解できません。
foxxtrot 2011

わからない!誰かが「MySpaceキラー」を作成したい場合は、社内で使用することで満足するでしょう(バイナリまたはソースを再配布する必要はありません)。AGPL(Affero GPL)を使用する方が、それを使用してソースを配布せずにパブリックWebサービスの抜け穴を修正する方が適切だと思います...悲しいと奇妙:/
IgorK

10

ここで私の質問あなたの質問に答えました

ソースでここでそれを言うには:

マイクロソフト、Hadoopを支持して、その代替(Dryad)を削除しました。来年は、Hadoop統合を備えたMS SQL Server 2012をリリースします。AzureとWindows Severのサポートは、私たちが話しているように開発されています。

2012年上半期に発売予定。

HadoopはNo.1のBigDataプラットフォームであり、Oracleが採用しているオープンソースおよびプロプライエタリソース(Java、.Net、Pythonなど)でもサポートされる予定です。

何かを開発していた場合、.Netプラットフォームを使用している場合は待つ必要があります。

可能なことの詳細については、こちらをご覧ください。


5

私は、DryadLinqが.NETの人々がHadoopに最も近いものであると言います。しかし、それは、hadoopを何に使用するかによって異なります。最適化された自己維持分散ファイル(DFS)システムを探している場合、DryadLINQは探しているものではありません。これはDFSに類似していますが、パーティションを手動で構築して各パーティションを配布する必要があります。

そうは言っても、DryadLINQよりも探しているHadoopの分散実行の側面が本当に素晴らしい場合(そして、私はMSとは関係ありません)。Microsoft HPCクラスターをセットアップしている限り、DryadLINQの導入は非常に簡単です。

あなたが書くコードは、LINQを実行する代わりにIEnumerable<T>それを実行しなければならないことを除いて、実際には単なるLINQコードですPartitionedTable<T>(自己構築分散データ構造)。

DryadLINQで本当にクールなのは、アルゴリズムを開発する際の時間の短縮(試行、テスト、調整、繰り返し)です。計算を行うためのLINQコードを記述するだけで、DryadLINQが分散実行部分全体を処理します。私が出会った中で最も自然なアナログで、分散処理用のコードを作成するのは、単一プロセス処理用のコードを作成するのと同じです。


4

RavenDbのようなものを調べると、かなり大きなサイズのデータ​​に対してMapReduceを非常に適切にサポートできます。.Netに組み込まれているため、適切なLINQクライアントAPIを使用できます。

http://ravendb.net/

はじめに、私のブログをご覧ください。


2

Apache Hadoopは、YahooやFacebookなどの業界の大手大手によって積極的に開発および保守されているため、Apache Hadoopとストリーミングを使用する方がよい場合があります。だから、あなたが期待することをすることができます。

.NETでのソリューションが必要な場合は、Myspaceの実装@ MySpace Qizmtを確認してください-MySpaceのオープンソースMapreduceフレームワーク


2

Microsoftは、「100%Apache互換のHadoopディストリビューション」として請求されるHDInsightの展開を進めています。

Windows ServerとWindows Azureサービスの両方で利用できます。


1
HDInsightはHortonworksディストリビューションです。他の主要ベンダーもMicrosoftと協力して、Azureでのディストリビューションを提供しています。質問に関連する:HDInsightへの.NETインターフェイスはありますが、HDInsight自体は.NETではありません
アシュトニアム2015


1

.NETから直接Hadoopを使用できるようになりました。Microsoftは、そのためのSDKをリリースしています。

https://hadoopsdk.codeplex.com/

もちろん、これはJavaベースのHadoopネットワークを使用することを意味します。しかし、サーバーがJavaで実行されているかどうかは重要ですか?私は誰かがそれを移植しようとするかもしれないと確信していますが、企業はすでにJavaバージョンを支持しているのでそれは良い考えではないと思います。



1

内部的には、MicrosoftはCosmosを使用しています。これは、Azureを通じてMicrosoftの外部で利用できるようになりました。これは、Azure Data Lake AnalyticsおよびAzure Data Lake Storeという名前です。Azure Data Lake Analyticsは、サービスとしての一種の糸であり、サービスとしてのAzure Data Lake Store WebHDFSです。Azure Data Lake Analyticsの最初のバージョンは、Transact-SQL + C#に基づく言語であるU-SQLのみをホストします。



0

dryad / linqは製品化されており、間もなくリリースされます。http//blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx 組み合わせて使用Microsoft HPCを使用して、非構造化データを照会するための強力なクラスターベースのソリューション


/まもなくリリースされます/リリースされません。上記の回答を参照してください
om-nom-nom 2012

1
容疑者のドライアドとHDInsightは互いに対立しています。マイクロソフトがHDInsightのドライアドをドロップすることを聞いてください
Swab.Jat

0

他の人が述べたように、DryadLINQは、開発者がMapReduceと同様の方法でLINQクエリを記述してクラスターで実行できるプログラミングフレームワークです。最近、DryadLINQプロジェクトがGitHubのApacheライセンスの下でリリースされました。このリリースには、YARNクラスター(Azure HDInsightクラスターを含む)で実行するためのサポートが含まれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.