それで、私はHadoopに強い関心を持って注目してきました。正直なところ、私は魅了されています。
私の唯一の小さな問題は、私が C# 開発者であり、それが Java であることです。
Hadoop.net や NHadoop、またはGoogle MapReduceアプローチを取り入れた .NET プロジェクトを探しているほど Java を理解していないわけではありません。誰か知っていますか?
Hadoop のストリーミングの使用について調べましたか?
私はいつもPythonでそれを使用しています:-)。
多くの場合、異質なアプローチが最善であり、他の人も同じことをしているように見えます。
protocol-buffers や facebook の thrift などのプロジェクトを見ると、別の言語で書かれたアプリを使用して、好みの言語で接着剤を作成するのが最善の場合があることがわかります。
最近、MySpace は .NET MapReduce フレームワークであるQizmtをオープン ソースとしてリリースしたため、これもこの分野での潜在的な候補です。
http://research.microsoft.com/en-us/projects/dryadlinq/default.aspxまたはhttp://msdn.microsoft.com/en-us/library/dd179423.aspxを参照してください
ここで私の質問であなたの質問に答えました
ここでソースでそれを言うには:
Microsoftは、Hadoop を支持して代替手段 ( Dryad ) を削除しました。来年には、Hadoop を統合した MS SQL Server 2012 をリリースする予定です。Azure と Windows Server のサポートは、私たちが話している間も開発中です。
2012年上半期に発売予定。
Hadoop は No.1 のBigDataプラットフォームであり、オープンソースおよび独自のソース (Java、.Net、Python など) でサポートされる予定であり、Oracle も採用しています。
何かを開発している場合、.Net プラットフォームを使用している場合は待つ必要があります。
可能なことの詳細については、こちらをご覧ください
DryadLinq は、私たち .NET 関係者が Hadoop に最も近いものであると言えます。ただし、hadoop を何に使用するかによって異なります。最適化された自己管理分散ファイル (DFS) システムを探しているなら、 DryadLINQはあなたが探しているものではありません。これは DFS に類似していますが、手動でパーティションを構築し、各パーティションを配布する必要があります。
そうは言っても、DryadLINQよりも探しているHadoopの分散実行の側面が本当に素晴らしいのであれば(いいえ、私はMSと提携していません)。Microsoft HPCクラスターがセットアップされている限り、DryadLINQ を使用するのは非常に簡単です。
IEnumerable<T>
あなたが書くコードは、LINQを実行する代わりにそれを実行しなければならないことを除いて、実際には単なるLINQコードですPartitionedTable<T>
(セルフビルド分散データ構造)。
DryadLINQ の優れている点は、アルゴリズムを開発する際の所要時間 (試行、テスト、調整、繰り返し) が速いことです。計算を行うための LINQ コードを書くだけで、DryadLINQ が分散実行部分全体を処理します。単一プロセス処理のコードを書くのと同じように、分散処理のコードを書くことは、私が遭遇した最も自然な類似物です。
RavenDbのようなものを調べることができます。これは、かなり大きなサイズのデータに対してMapReduceを非常に適切にサポートします。.Netに組み込まれているため、適切なLINQクライアントAPIを使用できます。
あなたが始めるためにあなたは私のブログenteryを読むことができます。
Apache Hadoop は Yahoo や Facebook などの業界の大企業によって積極的に開発および保守されているため、Apache Hadoop とストリーミングを使用する方がよい場合があります。そのため、期待どおりのことができます。
.NET でのソリューションが必要な場合は、Myspace の実装 @ MySpace Qizmt - MySpace のオープン ソース Mapreduce フレームワークを確認してください。
ご覧ください:
http://www.windowsazure.com/en-us/services/hdinsight/
これは Hadoop for Azure の実装であり、.NET を使用してアクセスできます。
Microsoft Research にはプロジェクト Daytona http://research.microsoft.com/en-us/projects/daytona/があります。
ダウンロードできます。C# には WordCount のサンプルがあります。
内部的には、Microsoft は Cosmos を使用しています。これは、Azure を通じて Microsoft 外で利用できるようになりました。Azure Data Lake AnalyticsおよびAzure Data Lake Storeという名前です。Azure Data Lake 分析は、Yarn as a Service と Azure Data Lake Store WebHDFS as a Service の一種です。Azure Data Lake Analytics の最初のバージョンは、Transact-SQL + C# に基づく言語である U-SQL のみをホストします。
dryad/linq は製品化されており、間もなくリリースされる予定です: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announce-linq-to-hpc-beta-2.aspx 組み合わせて使用非構造化データを照会するための強力なクラスター ベースのソリューションとして Microsoft HPC を使用
http://mapsharp.codeplex.com/には、.NET 用のかなりかわいい MapReduce 実装があります。