Entonces, he estado mirando a Hadoop con gran interés y, para ser honesto, estoy fascinado, las cosas no se ponen mucho más geniales.
Mi único problema menor es que soy un desarrollador de C # y está en Java.
No es que no entienda Java tanto como busco el proyecto Hadoop.net o NHadoop o .NET que adopta el enfoque de Google MapReduce . ¿Alguien sabe de uno?
Consulte http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx o http://msdn.microsoft.com/en-us/library/dd179423.aspx
fuente
Recientemente, MySpace lanzó su marco .NET MapReduce, Qizmt , como código abierto, por lo que también es un competidor potencial en este espacio.
fuente
Respondí tu pregunta en mi pregunta aquí.
Para decirlo aquí en la fuente:
Microsoft abandonó su alternativa ( Dryad ) a favor de Hadoop. El próximo año lanzarán MS SQL Server 2012 con integración de Hadoop. La compatibilidad con Azure y Windows Sever se está desarrollando incluso mientras hablamos.
Estará disponible en el primer semestre de 2012.
Hadoop es la plataforma # 1 de BigData y será compatible con código abierto y fuente patentada (Java, .Net, Python, ...) incluso Oracle la está adoptando.
Si estaba desarrollando algo, debería esperar si está en la plataforma .Net.
Más información sobre lo que es posible estará disponible aquí.
fuente
Diría que DryadLinq es lo más parecido que tenemos los .NET a Hadoop. Pero depende de para qué quieras usar hadoop. Si está buscando el sistema optimizado de archivos distribuidos de mantenimiento automático (DFS), DryadLINQ no es lo que está buscando. Tiene un análogo al DFS pero tienes que construir manualmente las particiones y distribuir cada partición.
Dicho esto, si es el aspecto de ejecución distribuida de Hadoop lo que está buscando, DryadLINQ es realmente maravilloso (y no, no estoy afiliado a MS). Siempre que tenga una configuración de clúster de HPC de Microsoft, comenzar con DryadLINQ es realmente fácil.
El código que escribe es realmente código LINQ directo, excepto que en lugar de ejecutar el LINQ en el
IEnumerable<T>
que tiene que ejecutarloPartitionedTable<T>
(la estructura de datos distribuida autoconstruida).Lo que ha sido realmente genial de DryadLINQ es el tiempo de respuesta rápido (probar, probar, ajustar, repetir) al desarrollar algoritmos. Simplemente escriba el código LINQ para hacer sus cálculos y DryadLINQ se encargará de toda la parte de ejecución distribuida. Es el análogo más natural que he encontrado que hace que la escritura de código para el procesamiento distribuido sea igual que la escritura de código para el procesamiento de un solo proceso.
fuente
Puede buscar algo como RavenDb, proporciona un soporte muy decente para MapReduce para un tamaño de datos bastante grande. ya que está integrado en .Net, por lo que una API de cliente LINQ adecuada está disponible.
http://ravendb.net/
Para empezar, puede leer el artículo de mi blog .
fuente
Puede ser mejor usar Apache Hadoop y la transmisión porque Apache Hadoop está siendo desarrollado y mantenido activamente por grandes gigantes de la industria como Yahoo y Facebook. Para que pueda hacer lo que esperas que haga.
Si necesita una solución en .NET, consulte la implementación de Myspace @ MySpace Qizmt - Mapreduce Framework de código abierto de MySpace
fuente
Microsoft está en el proceso de implementar HDInsight , que se factura como su "distribución Hadoop 100% compatible con Apache".
Está disponible tanto en Windows Server como como servicio de Windows Azure.
fuente
Microsoft Research tiene el proyecto Daytona http://research.microsoft.com/en-us/projects/daytona/
Puedes descargarlo. Hay una muestra de WordCount en C #.
fuente
Ahora puede usar Hadoop directamente desde .NET Microsoft ha lanzado un SDK para hacerlo.
https://hadoopsdk.codeplex.com/
Por supuesto, esto significa usar la red Hadoop basada en Java. Pero, ¿importa si el servidor se ejecuta en Java? Estoy seguro de que alguien puede intentar portarlo, pero no creo que sea una buena idea ya que las corporaciones ya están respaldando la versión java y no creo que el puerto .NET reciba la misma atención.
fuente
Echa un vistazo a:
http://www.windowsazure.com/en-us/services/hdinsight/
Es una implementación de Hadoop para Azure y puede usar .NET para acceder a ella.
fuente
Internamente, Microsoft ha estado usando Cosmos. Esto está disponible fuera de Microsoft a través de Azure. Se llama Azure Data Lake Analytics y Azure Data Lake Store . El análisis de Azure Data Lake es una especie de Yarn como servicio y Azure Data Lake Store WebHDFS como servicio. La primera versión de Azure Data Lake Analytics solo hospeda U-SQL, un lenguaje basado en Transact-SQL + C #.
fuente
Hay una implementación de MapReduce bastante linda para .NET en: http://mapsharp.codeplex.com/
fuente
dryad / linq se está produciendo y se lanzará pronto: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx uso en conjunto con Microsoft HPC para una potente solución basada en clústeres para consultar datos no estructurados
fuente
Como han mencionado otros, DryadLINQ es un marco de programación que permite a los desarrolladores escribir consultas LINQ y ejecutarlas en un clúster, de manera similar a MapReduce. El proyecto DryadLINQ se lanzó recientemente bajo la licencia Apache en GitHub , y la versión incluye soporte para ejecutarse en clústeres YARN (incluidos los clústeres Azure HDInsight).
fuente