それで、私は鋭敏な興味を持ってHadoopを見てきました。正直、私は魅了されて、物事はそれほど冷たくなりません。
私のマイナーな唯一の問題は、C#開発者であり、Javaにあります。
Google MapReduceアプローチを採用するHadoop.net、NHadoop、または.NETプロジェクトを探しているのと同じくらい、Javaを理解していないわけではありません。誰か知っていますか?
それで、私は鋭敏な興味を持ってHadoopを見てきました。正直、私は魅了されて、物事はそれほど冷たくなりません。
私のマイナーな唯一の問題は、C#開発者であり、Javaにあります。
Google MapReduceアプローチを採用するHadoop.net、NHadoop、または.NETプロジェクトを探しているのと同じくらい、Javaを理解していないわけではありません。誰か知っていますか?
回答:
Hadoopのストリーミングの使用を見てきましたか?
私はいつもそれをpythonで使っています:-)。
異機種混在のアプローチがしばしば最善であり、他の人々が同じことをしているように見えます。
プロトコルバッファやFacebookの古着のようなプロジェクトを見ると、別の言語で書かれたアプリを使用して、好みの言語で接着剤を作成するのが最善の場合があることがわかります。
参照してくださいhttp://research.microsoft.com/en-us/projects/dryadlinq/default.aspxまたはhttp://msdn.microsoft.com/en-us/library/dd179423.aspx
最近、MySpaceが.NET MapReduceフレームワークQizmtをオープンソースとしてリリースしたため、これもこの分野での潜在的な候補です。
ソースでここでそれを言うには:
マイクロソフトは、Hadoopを支持して、その代替(Dryad)を削除しました。来年は、Hadoop統合を備えたMS SQL Server 2012をリリースします。AzureとWindows Severのサポートは、私たちが話しているように開発されています。
2012年上半期に発売予定。
HadoopはNo.1のBigDataプラットフォームであり、Oracleが採用しているオープンソースおよびプロプライエタリソース(Java、.Net、Pythonなど)でもサポートされる予定です。
何かを開発していた場合、.Netプラットフォームを使用している場合は待つ必要があります。
私は、DryadLinqが.NETの人々がHadoopに最も近いものであると言います。しかし、それは、hadoopを何に使用するかによって異なります。最適化された自己維持分散ファイル(DFS)システムを探している場合、DryadLINQは探しているものではありません。これはDFSに類似していますが、パーティションを手動で構築して各パーティションを配布する必要があります。
そうは言っても、DryadLINQよりも探しているHadoopの分散実行の側面が本当に素晴らしい場合(そして、私はMSとは関係ありません)。Microsoft HPCクラスターをセットアップしている限り、DryadLINQの導入は非常に簡単です。
あなたが書くコードは、LINQを実行する代わりにIEnumerable<T>
それを実行しなければならないことを除いて、実際には単なるLINQコードですPartitionedTable<T>
(自己構築分散データ構造)。
DryadLINQで本当にクールなのは、アルゴリズムを開発する際の時間の短縮(試行、テスト、調整、繰り返し)です。計算を行うためのLINQコードを記述するだけで、DryadLINQが分散実行部分全体を処理します。私が出会った中で最も自然なアナログで、分散処理用のコードを作成するのは、単一プロセス処理用のコードを作成するのと同じです。
RavenDbのようなものを調べると、かなり大きなサイズのデータに対してMapReduceを非常に適切にサポートできます。.Netに組み込まれているため、適切なLINQクライアントAPIを使用できます。
はじめに、私のブログをご覧ください。
Apache Hadoopは、YahooやFacebookなどの業界の大手大手によって積極的に開発および保守されているため、Apache Hadoopとストリーミングを使用する方がよい場合があります。だから、あなたが期待することをすることができます。
.NETでのソリューションが必要な場合は、Myspaceの実装@ MySpace Qizmtを確認してください-MySpaceのオープンソースMapreduceフレームワーク
Microsoftは、「100%Apache互換のHadoopディストリビューション」として請求されるHDInsightの展開を進めています。
Windows ServerとWindows Azureサービスの両方で利用できます。
Microsoft ResearchのプロジェクトDaytona http://research.microsoft.com/en-us/projects/daytona/
ダウンロードできます。C#にはWordCountサンプルがあります。
.NETから直接Hadoopを使用できるようになりました。Microsoftは、そのためのSDKをリリースしています。
https://hadoopsdk.codeplex.com/
もちろん、これはJavaベースのHadoopネットワークを使用することを意味します。しかし、サーバーがJavaで実行されているかどうかは重要ですか?私は誰かがそれを移植しようとするかもしれないと確信していますが、企業はすでにJavaバージョンを支持しているのでそれは良い考えではないと思います。
見てください:
http://www.windowsazure.com/en-us/services/hdinsight/
これは、Hadoop for Azureの実装であり、.NETを使用してアクセスできます。
内部的には、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のみをホストします。
http://mapsharp.codeplex.com/には、.NET用のかなりかわいいMapReduce実装があります。
dryad / linqは製品化されており、間もなくリリースされます。http: //blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx 組み合わせて使用Microsoft HPCを使用して、非構造化データを照会するための強力なクラスターベースのソリューション