Portanto, tenho observado o Hadoop com grande interesse e, para ser honesto, estou fascinado, as coisas não ficam muito mais legais.
Meu único problema menor é que sou um desenvolvedor C # e ele está em Java.
Não é que eu não entenda o Java tanto quanto estou procurando o projeto Hadoop.net ou NHadoop ou .NET que adota a abordagem Google MapReduce . Alguém conhece algum?
Consulte http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx ou http://msdn.microsoft.com/en-us/library/dd179423.aspx
fonte
Recentemente, o MySpace lançou seu framework .NET MapReduce, Qizmt , como Open Source, então este também é um candidato potencial neste espaço.
fonte
Eu respondi sua pergunta na minha pergunta aqui
Para dizer aqui na fonte:
A Microsoft abandonou sua alternativa ( Dryad ) em favor do Hadoop. No próximo ano, eles lançarão o MS SQL Server 2012 com integração Hadoop. O suporte do Azure e Windows Server está sendo desenvolvido enquanto falamos.
Estará disponível no primeiro semestre de 2012.
Hadoop é a plataforma BigData # 1 e terá suporte de código aberto e de código proprietário (Java, .Net, Python, ...) até mesmo a Oracle está adotando.
Se você estava desenvolvendo algo, deve esperar se estiver na plataforma .Net.
Mais informações sobre o que é possível estarão disponíveis aqui
fonte
Eu diria que DryadLinq é a coisa mais próxima que nós, gente do .NET, temos do Hadoop. Mas depende para que você deseja usar o hadoop. Se você está procurando um sistema de arquivo distribuído de manutenção automática (DFS) otimizado , o DryadLINQ não é o que você está procurando. Tem um análogo ao DFS, mas você tem que construir manualmente as partições e distribuir cada partição.
Dito isso, se é o aspecto de execução distribuída do Hadoop que você está procurando, o DryadLINQ é realmente maravilhoso (e não, não sou afiliado ao MS). Contanto que você tenha uma configuração de cluster Microsoft HPC, começar com o DryadLINQ é realmente fácil.
O código que você escreve é, na verdade, apenas código LINQ direto, exceto que, em vez de executar o LINQ,
IEnumerable<T>
você precisa executá-loPartitionedTable<T>
(a estrutura de dados distribuída de auto-construção).O que tem sido realmente legal sobre o DryadLINQ é o tempo de resposta rápido (tente, teste, ajuste, repita) ao desenvolver algoritmos. Basta escrever o código LINQ para fazer seus cálculos e o DryadLINQ cuidará de toda a parte de execução distribuída. É o análogo mais natural que encontrei que torna a escrita de código para processamento distribuído exatamente como escrever código para processamento de processo único.
fonte
Você pode olhar para algo como RavenDb; ele fornece um suporte muito decente para MapReduce para um tamanho de dados bastante grande. como é construído em .Net, uma API de cliente LINQ adequada está disponível.
http://ravendb.net/
Para começar, você pode ler meu blog .
fonte
Pode ser melhor usar o Apache Hadoop e streaming porque o Apache Hadoop está sendo desenvolvido e mantido ativamente por grandes gigantes da indústria como Yahoo e Facebook. Portanto, ele pode fazer o que você espera.
Se você precisa de uma solução em .NET, verifique a implementação do MySpace @ MySpace Qizmt - Open Source Mapreduce Framework do MySpace
fonte
A Microsoft está em processo de implantação do HDInsight , que é classificado como sua "distribuição Hadoop 100% compatível com Apache".
Ele está disponível no Windows Server e como um serviço do Windows Azure.
fonte
A Microsoft Research tem o projeto Daytona http://research.microsoft.com/en-us/projects/daytona/
Você pode fazer o download. Há um exemplo WordCount em C #.
fonte
Agora você pode usar o Hadoop diretamente do .NET. A Microsoft lançou um SDK para fazer isso.
https://hadoopsdk.codeplex.com/
Claro, isso significa usar a rede Hadoop baseada em java. Mas faz diferença se o servidor está rodando em java? Tenho certeza de que alguém pode tentar portá-lo, mas não acho que seria uma boa ideia, pois as empresas já estão apoiando a versão java e não acho que a porta .NET receberá a mesma atenção.
fonte
Dê uma olhada em:
http://www.windowsazure.com/en-us/services/hdinsight/
É uma implementação do Hadoop para Azure e você pode usar o .NET para acessá-lo.
fonte
Internamente, a Microsoft tem usado o Cosmos. Isso foi disponibilizado fora da Microsoft por meio do Azure. É denominado Azure Data Lake Analytics e Azure Data Lake Store . A análise do Azure Data Lake é uma espécie de Yarn como serviço e WebHDFS do Azure Data Lake Store como serviço. A primeira versão do Azure Data Lake Analytics hospeda apenas U-SQL, uma linguagem baseada em Transact-SQL + C #.
fonte
Há uma implementação de MapReduce muito bonita para .NET em: http://mapsharp.codeplex.com/
fonte
dryad / linq está sendo produzido e será lançado em breve: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx use em conjunto com Microsoft HPC para uma solução poderosa baseada em cluster para consultar dados não estruturados
fonte
Como outros mencionaram, DryadLINQ é uma estrutura de programação que permite aos desenvolvedores escrever consultas LINQ e executá-las em um cluster, de maneira semelhante ao MapReduce. O projeto DryadLINQ foi recentemente lançado sob a licença Apache no GitHub e inclui suporte para execução em clusters YARN (incluindo clusters Azure HDInsight).
fonte