c# - ¿Hay un.NET equivalente a Apache Hadoop?
mapreduce (15)
¿Has mirado usando la transmisión de Hadoop?
Lo uso en Python todo el tiempo :-).
Estoy empezando a ver que el enfoque heterogéneo suele ser el mejor y parece que otras personas están haciendo lo mismo.
Si observa proyectos como buffer de protocolo o el ahorro de Facebook, verá que a veces lo mejor es usar una aplicación escrita en otro idioma y crear el pegamento en el idioma de su preferencia.
Por lo tanto, he estado mirando a Hadoop con gran interés, y para ser sincero, estoy fascinado, las cosas no se ponen mucho más frescas.
Mi único problema menor es que soy un desarrollador de C # y está en Java.
No es que no entienda Java tanto como estoy buscando Hadoop.net o NHadoop o el proyecto .NET que adopta el enfoque de Google MapReduce . ¿Alguien sabe de uno?
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 empresas ya respaldan la versión de Java y no creo que el puerto .NET obtenga la misma atención.
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 el lanzamiento incluye soporte para ejecutarse en clústeres YARN (incluidos los clústeres Azure HDInsight).
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.
Hay una bonita implementación de MapReduce para .NET en: http://mapsharp.codeplex.com/
Internamente, Microsoft ha estado usando Cosmos. Esto ha estado 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 hilo como servicio y Azure Data Lake Store WebHDFS como un servicio. La primera versión de Azure Data Lake Analytics solo hospeda U-SQL, un lenguaje basado en Transact-SQL + C #.
Microsoft Research tiene el proyecto Daytona http://research.microsoft.com/en-us/projects/daytona/
Puedes descargarlo. Hay una muestra de WordCount en C #.
Microsoft está en el proceso de implementar HDInsight , que se anuncia como su "distribución Hadoop 100% compatible con Apache".
Está disponible tanto en Windows Server como en un servicio de Windows Azure.
Puede ser mejor utilizar 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. Por lo tanto, puede hacer lo que espera que haga.
Si necesita una solución en .NET, consulte la implementación de Qizmt
Puedes buscar algo como RavenDb que proporciona un soporte muy decente para MapReduce para un tamaño bastante grande de datos. ya que está construido en .Net por lo que está disponible una API de cliente LINQ adecuada.
Para comenzar, puede leer mi blog entery.
Recientemente, MySpace lanzó su framework .NET MapReduce, Qizmt , como Open Source, por lo que este también es un contendiente potencial en este espacio.
Respondí tu pregunta en mi pregunta here
Para decirlo aquí en la fuente:
Microsoft dropped su alternativa ( Dryad ) a favor de Hadoop. El próximo año lanzarán MS SQL Server 2012 con integración Hadoop. El soporte de Azure y Windows Sever se está desarrollando incluso mientras hablamos.
Estará disponible en el primer semestre de 2012.
Hadoop es la plataforma BigData . ° 1 de BigData y BigData con el respaldo de fuentes de código abierto y propietarias (Java, .Net, Python, ...) incluso Oracle lo 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 here
Yo diría que DryadLinq es lo más cercano que nosotros, los .NET, tenemos a Hadoop. Pero depende de lo que quieras usar hadoop. Si está buscando el sistema de archivo distribuido auto mantenible optimizado (DFS), http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx 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 HPC de Microsoft, continuar con DryadLINQ es realmente fácil.
El código que escribe es realmente solo código LINQ directo, excepto que en lugar de ejecutar el LINQ en IEnumerable<T>
debe ejecutarlo en PartitionedTable<T>
(la estructura de datos distribuida de autocompilación).
Lo que realmente ha sido genial con DryadLINQ es el tiempo de respuesta rápido (prueba, prueba, ajuste, repite) cuando desarrollas algoritmos. Simplemente escriba código LINQ para hacer sus cálculos y DryadLINQ se encargará de la parte de ejecución distribuida completa. Es el análogo más natural que he encontrado que hace que escribir código para procesamiento distribuido sea como escribir código para procesamiento de proceso único.
dryad / linq está siendo productizado 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 solución potente basada en clústeres para buscar datos no estructurados