Donc, j'ai regardé Hadoop avec un vif intérêt, et pour être honnête, je suis fasciné, les choses ne deviennent pas beaucoup plus cool.
Mon seul problème mineur est que je suis un développeur C # et que c'est en Java.
Ce n'est pas que je ne comprends pas autant Java que je recherche le Hadoop.net ou NHadoop ou le projet .NET qui embrasse l' approche Google MapReduce . Quelqu'un en connaît-il un?
Voir http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx ou http://msdn.microsoft.com/en-us/library/dd179423.aspx
la source
Récemment, MySpace a publié son framework .NET MapReduce, Qizmt , comme Open Source, donc c'est aussi un concurrent potentiel dans cet espace.
la source
J'ai répondu à votre question dans ma question ici
Pour le dire ici dans la source:
Microsoft a abandonné son alternative ( Dryad ) au profit de Hadoop. L'année prochaine, ils publieront MS SQL Server 2012 avec intégration Hadoop. La prise en charge d'Azure et de Windows Sever 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 des sources open source et propriétaires (Java, .Net, Python, ...) même Oracle l'adoptera.
Si vous développez quelque chose, vous devriez attendre si vous êtes sur la plate-forme .Net.
Plus d'informations sur ce qui est possible seront disponibles ici
la source
Je dirais que DryadLinq est la chose la plus proche que nous, les gens de .NET, avons à Hadoop. Mais cela dépend de l'utilisation que vous faites de hadoop. Si vous recherchez le système de fichiers distribués (DFS) auto-entretenu optimisé, DryadLINQ n'est pas ce que vous recherchez. Il a un analogue au DFS mais vous devez construire manuellement les partitions et distribuer chaque partition.
Cela étant dit, si c'est l'aspect d'exécution distribuée de Hadoop que vous recherchez, DryadLINQ est vraiment merveilleux (et non, je ne suis pas affilié à MS). Tant que vous avez une configuration de cluster Microsoft HPC, il est vraiment facile de commencer avec DryadLINQ.
Le code que vous écrivez n'est en réalité que du code LINQ simple, sauf qu'au lieu d'exécuter le LINQ sur
IEnumerable<T>
vous devez l'exécuter surPartitionedTable<T>
(la structure de données distribuée auto-construite).Ce qui a vraiment été cool avec DryadLINQ, c'est le temps de rotation rapide (essayer, tester, ajuster, répéter) lors du développement d'algorithmes. Il vous suffit d'écrire du code LINQ pour faire vos calculs et DryadLINQ s'occupera de toute la partie d'exécution distribuée. C'est l'analogue le plus naturel que j'ai rencontré qui transforme l'écriture de code pour un traitement distribué comme l'écriture de code pour un traitement à processus unique.
la source
Vous pouvez regarder quelque chose comme RavenDb, il fournit un support très décent pour MapReduce pour une taille de données assez grande. comme il est intégré dans .Net, une API client LINQ appropriée est disponible.
http://ravendb.net/
Pour commencer, vous pouvez lire l' entrée de mon blog .
la source
Il 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 de l'industrie comme Yahoo et Facebook. Ainsi, il peut faire ce que vous attendez de lui.
Si vous avez besoin d'une solution en .NET, veuillez vérifier l'implémentation de Myspace @ MySpace Qizmt - MySpace's Open Source Mapreduce Framework
la source
Microsoft est en train de déployer HDInsight , qui est présenté comme sa «distribution Hadoop 100% compatible Apache».
Il est disponible à la fois sur Windows Server et en tant que service Windows Azure.
la source
Microsoft Research a le projet Daytona http://research.microsoft.com/en-us/projects/daytona/
Vous pouvez le télécharger. Il existe un exemple WordCount en C #.
la source
Vous pouvez désormais utiliser Hadoop directement depuis .NET. Microsoft a publié un SDK pour ce 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 entreprises soutiennent déjà la version java et je ne pense pas que le port .NET attirera la même attention.
la source
Jetez un œil sur:
http://www.windowsazure.com/en-us/services/hdinsight/
Il s'agit d'une implémentation de Hadoop pour Azure et vous pouvez utiliser .NET pour y accéder.
la source
En interne, Microsoft utilise Cosmos. Cela a été rendu disponible en dehors de Microsoft via Azure. Il s'appelle Azure Data Lake Analytics et Azure Data Lake Store . L'analyse Azure Data Lake est une sorte de Yarn 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 U-SQL, un langage basé sur Transact-SQL + C #.
la source
Il existe une implémentation MapReduce assez mignonne pour .NET à l' adresse : http://mapsharp.codeplex.com/
la source
dryad / linq est en cours de production et sera bientôt publié: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx utilisation en conjonction avec Microsoft HPC pour une solution puissante basée sur des clusters pour interroger des données non structurées
la source
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 des clusters Azure HDInsight).
la source