Pregunta

Entonces, he estado mirando Hadoop con gran interés, y para ser sincero, estoy fascinado , las cosas no se ponen mucho más frías.

Mi único problema menor es que soy desarrollador de C # y está en Java.

No es que no entienda el Java tanto como estoy buscando el Hadoop.net o NHadoop o el proyecto .NET que abarca el Google MapReduce enfoque. ¿Alguien sabe de uno?

¿Fue útil?

Solución

¿Ha visto el uso de la transmisión de Hadoop?

Lo uso en python todo el tiempo :-).

Estoy empezando a ver que el enfoque heterogéneo es a menudo el mejor y parece que otras personas están haciendo lo mismo.

Si observa proyectos como los amortiguadores de protocolos o el ahorro de Facebook, verá que a veces es mejor usar una aplicación escrita en otro idioma y construir el pegamento en el idioma que prefiera.

Otros consejos

Recientemente, MySpace lanzó su marco .NET MapReduce, Qizmt , como Open Source, por lo que este también es un posible competidor en este espacio.

Respondí tu pregunta en mi pregunta aquí

Para decirlo aquí en la fuente:

Microsoft descartó 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 # 1 BigData y será compatible con código abierto y propietario fuente (Java, .Net, Python, ...) incluso Oracle lo está adoptando.

Si estaba desarrollando algo, debe esperar si está en la plataforma .Net.

Más información sobre lo que es posible estará disponible aquí

Yo diría que DryadLinq es lo más parecido que nosotros .NET tenemos a Hadoop. Pero depende de para qué quieras usar hadoop. Si está buscando el sistema optimizado de archivos distribuidos de mantenimiento automático (DFS), entonces DryadLINQ no es lo que estás buscando. Tiene un análogo al DFS pero tiene 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ás buscando, entonces DryadLINQ es realmente maravilloso (y no, no estoy afiliado a MS). Siempre y cuando tenga una configuración de clúster de Microsoft HPC , comenzar con DryadLINQ es realmente fácil.

El código que escribe es realmente un código LINQ directo, excepto que en lugar de ejecutar el LINQ en IEnumerable<T> debe ejecutarlo en PartitionedTable<T> (la estructura de datos distribuidos de autoconstrucción).

Lo que realmente ha sido genial de DryadLINQ es el tiempo de respuesta rápido (prueba, prueba, ajuste, repetición) 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 escribir código para el procesamiento distribuido sea como escribir código para el procesamiento de un solo proceso.

Puede buscar algo como RavenDb, que proporciona un soporte muy decente para MapReduce para un tamaño de datos bastante grande. como está construido en .Net, por lo que está disponible una API de cliente LINQ adecuada.

http://ravendb.net/

Para comenzar, puede leer mi blog entery.

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. Entonces puede hacer lo que espera que haga.

Si necesita una solución en .NET, compruebe la implementación de Myspace @ MySpace Qizmt - MySpace & # 8217; s Open Source Mapreduce Framework

Microsoft está en proceso de implementar HDInsight , que se factura como su & Quot; distribución Hadoop 100% compatible con Apache. & Quot;

Está disponible tanto en Windows Server como en un servicio de Windows Azure.

Microsoft Research tiene proyecto Daytona http://research.microsoft.com/en-us/projects/daytona/

Puedes descargarlo. Hay una muestra de WordCount en C #.

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 están respaldando la versión de Java y no creo que el puerto .NET reciba la misma atención.

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.

Internamente, Microsoft ha estado usando Cosmos. Esto se ha puesto a disposición 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 aloja U-SQL, un lenguaje basado en Transact-SQL + C #.

Hay una implementación bastante linda de MapReduce para .NET en: http://mapsharp.codeplex.com/

dryad / linq se está productizando y se lanzará pronto: http: / /blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx utilizar junto con Microsoft HPC para una solución potente basada en clúster para consultar datos no estructurados

Como otros han mencionado, DryadLINQ es un marco de programación que permite a los desarrolladores para escribir consultas LINQ y ejecutarlas en un clúster, de manera similar a MapReduce. El proyecto DryadLINQ se lanzó recientemente bajo la licencia de Apache en GitHub , y el lanzamiento incluye soporte para ejecutarse en Clústeres de YARN (incluidos los clústeres de Azure HDInsight).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top