Existe-t-il un équivalent .NET à Apache Hadoop?

Alors, j’ai regardé Hadoop avec un vif intérêt, et pour être honnête, je suis fasciné, les choses ne sont pas plus cool.

Mon seul problème mineur est que je suis un développeur C # et qu’il est en Java.

Ce n’est pas que je ne comprends pas le Java autant que je cherche le projet Hadoop.net ou NHadoop ou .NET qui adopte l’approche Google MapReduce . Est-ce que quelqu’un en connaît un?

Avez-vous envisagé d’utiliser le streaming Hadoop?

Je l’utilise en python tout le temps :-).

Je commence à voir que l’approche hétérogène est souvent la meilleure et il semble que les autres fassent la même chose.

Si vous examinez des projets tels que les tampons de protocole ou l’économie de facebook, vous constaterez qu’il est parfois préférable d’utiliser une application écrite dans une autre langue et de créer le lien dans la langue de votre choix.

Récemment, MySpace a publié son framework .NET MapReduce, Qizmt , en tant qu’Open Source, ce qui en fait un concurrent potentiel dans cet espace.

J’ai répondu à votre question dans ma question ici

Pour le dire ici dans la source:

Microsoft a abandonné son alternative ( Dryad ) en faveur de Hadoop. L’année prochaine, ils publieront MS SQL Server 2012 avec intégration Hadoop. La prise en charge d’Azure et Windows Server est en cours de développement au moment même où nous parlons.

Il sera disponible au premier semestre 2012.

Hadoop est la plate-forme BigData n ° 1 et sera prise en charge par opensource et les sources propriétaires (Java, .Net, Python, …) même Oracle l’adopte.

Si vous développiez quelque chose, vous devriez attendre si vous êtes sur la plate-forme .Net.

Plus d’informations sur ce qui est possible seront disponibles ici

Je dirais que DryadLinq est la chose la plus proche d’Hadoop. Mais cela dépend de ce que vous voulez utiliser pour hadoop. Si vous recherchez le système de fichiers dissortingbués (DFS) auto-entretenu optimisé, DryadLINQ n’est pas ce que vous recherchez. Il a un analogue au DFS mais vous devez créer manuellement les partitions et dissortingbuer chaque partition.

Cela étant dit, si l’aspect d’exécution dissortingbué de Hadoop que vous recherchez que DryadLINQ est vraiment merveilleux (et non, je ne suis pas affilié à MS). Tant que vous avez une configuration de cluster Microsoft HPC que de passer à DryadLINQ, c’est très simple.

Le code que vous écrivez est vraiment du code LINQ, sauf qu’au lieu d’exécuter LINQ sur IEnumerable vous devez l’exécuter sur PartitionedTable (la structure de données dissortingbuée auto-compilée).

Ce qui a vraiment été cool avec DryadLINQ, c’est le temps de réponse rapide (essayez, testez, ajustez, répétez) lorsque vous développez des algorithmes. Vous écrivez simplement du code LINQ pour effectuer vos calculs et DryadLINQ s’occupe de toute la partie exécution dissortingbuée. C’est l’analogue le plus naturel que j’ai rencontré, qui fait de l’écriture de code pour le traitement dissortingbué, tout comme l’écriture de code pour un traitement en un seul processus.

Vous pouvez étudier quelque chose comme RavenDb, qui fournit un support très correct pour MapReduce pour une taille de données assez importante. comme il est intégré à .Net, une API client LINQ correcte est disponible.

http://ravendb.net/

Pour commencer, vous pouvez lire mon blog entery.

Il serait peut-être préférable d’utiliser Apache Hadoop et le streaming, car Apache Hadoop est activement développé et maintenu par de grands géants du secteur tels que Yahoo et Facebook. Donc, il peut faire ce que vous attendez de lui.

Si vous avez besoin d’une solution en .NET, vérifiez l’implémentation de MySpace @ MySpace Qizmt – le framework Open Source Mapreduce de MySpace

Microsoft est en train de déployer HDInsight , qui est présenté comme leur “dissortingbution Hadoop compatible à 100% avec Apache”.

Il est disponible sur Windows Server et en tant que service Windows Azure.

Microsoft Research a projeté Daytona http://research.microsoft.com/en-us/projects/daytona/

Vous pouvez le télécharger. Il y a un exemple WordCount en C #.

Vous pouvez maintenant utiliser Hadoop directement à partir de .NET Microsoft a publié un SDK pour le faire.

https://hadoopsdk.codeplex.com/

Bien sûr, cela signifie utiliser le réseau Hadoop basé sur Java. Mais est-ce important que le serveur fonctionne en Java? Je suis sûr que quelqu’un peut essayer de le porter, mais je ne pense pas que ce serait une bonne idée, car les entresockets sauvegardent déjà la version Java et je ne pense pas que le port .NET aura la même attention.

Regardez sur:

http://www.windowsazuree.com/fr-fr/services/hdinsight/

C’est une implémentation de Hadoop pour Azure et vous pouvez utiliser .NET pour y accéder.

En interne, Microsoft utilise Cosmos. Cela a été mis à disposition en dehors de Microsoft via Azure. Il s’appelle Azure Data Lake Analytics et Azure Data Lake Store . L’parsing Azure Data Lake est une sorte de service en tant que service et Azure Data Lake Store WebHDFS en tant que service. La première version d’Azure Data Lake Analytics héberge uniquement un langage U-SQL basé sur Transact-SQL + C #.

Il existe une très jolie implémentation MapReduce pour .NET à l’ adresse : http://mapsharp.codeplex.com/

dryad / linq est en cours de production et sera bientôt disponible: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx à utiliser conjointement avec Microsoft HPC pour une solution puissante basée sur des clusters pour interroger des données non structurées

Comme d’autres l’ont mentionné, DryadLINQ est un cadre de programmation qui permet aux développeurs d’écrire des requêtes LINQ et de les exécuter sur un cluster, de la même manière que MapReduce. Le projet DryadLINQ a récemment été publié sous la licence Apache sur GitHub , et la version inclut la prise en charge de l’exécution sur des clusters YARN (y compris les clusters Azure HDInsight).