Pergunta

Então, eu estive olhando Hadoop com grande interesse, e para ser honesto eu estou fascinado , as coisas não ficam muito mais frio.

O meu único problema menor é que eu sou um desenvolvedor C # e é em Java.

Não é que eu não entendo o Java tanto quanto eu estou procurando o projeto .NET que abraça o abordagem Google MapReduce . Alguém sabe de um?

Foi útil?

Solução

Você já olhou usando Hadoop de transmissão?

Eu usá-lo em python o tempo todo: -)

.

Eu estou começando a ver que a abordagem heterogênea é muitas vezes a melhor e parece que outras pessoas estão fazendo o mesmo.

Se você olhar para projetos como protocol-buffers ou poupança do facebook você vê que às vezes é apenas melhor usar um aplicativo escrito em outro idioma e construir a cola no idioma de sua preferência.

Outras dicas

Recentemente, o MySpace lançou seu framework .NET MapReduce, Qizmt , como Open Source, assim este é também um concorrente potencial neste espaço.

Eu respondi a sua pergunta na minha pergunta aqui

Para dizê-lo aqui na fonte:

Microsoft caiu sua alternativa ( Dryad ) em favor de Hadoop. No ano que vem eles vão lançar MS SQL Server 2012 com a integração Hadoop. apoio Azure e Windows Sever está sendo desenvolvido, mesmo enquanto falamos.

Ele estará disponível no primeiro semestre de 2012.

Hadoop é a BigData plataforma # 1 e vai ser apoiado por opensource e proprietárias fonte (Java, .Net, Python, ...), mesmo Oracle está adotá-lo.

Se você estava desenvolvendo alguma coisa, você deve esperar se você estiver na plataforma .Net.

Mais informação sobre o que é possível estarão disponíveis aqui

Eu diria que DryadLINQ é a coisa mais próxima que o povo nos .NET tem que Hadoop. Mas depende do que você quer usar o Hadoop para. Se você está procurando o auto otimizado manter o sistema de arquivos distribuídos (DFS), então DryadLINQ não é o que você está procurando. Ele tem um analógico para o DFS, mas você tem que construir manualmente as partições e distribuir cada partição.

Dito isto, se o seu aspecto execução distribuída do Hadoop que você está procurando de DryadLINQ é verdadeiramente maravilhoso (e não, eu não estou afiliado com MS). Contanto que você tem configuração de cluster um Microsoft HPC do que ficar indo com DryadLINQ é realmente fácil.

O código que você escreve é ??o código LINQ realmente apenas em linha reta, exceto em vez de executar o LINQ em IEnumerable<T> você tem que executá-lo em PartitionedTable<T> (a auto-construção estrutura de dados distribuído).

O que foi realmente legal sobre DryadLINQ é a volta rápida em torno do tempo (try, teste, ajuste, repita) no desenvolvimento de algoritmos. Você acabou de escrever código LINQ para fazer seus cálculos e DryadLINQ vai cuidar de toda a parte de execução distribuída. É o analógico mais natural que eu me deparei que faz escrever código para processamento distribuído como escrever código para processar processo único.

Você pode olhar para algo como RavenDb ele fornece suporte muito decente para MapReduce para uma bastante grande tamanho dos dados. como ele é construído em .Net assim uma API cliente LINQ adequada está disponível.

http://ravendb.net/

Para começar, você pode ler o meu blogue entery.

Pode ser melhor usar o Apache Hadoop e streaming porque Apache Hadoop está sendo ativamente desenvolvida e mantida por grandes gigantes da indústria como Yahoo e Facebook. Então, ele pode fazer o que você espera que ele faça.

Se você precisa de uma solução em .NET verifique Myspace implementação @ MySpace Qizmt - do MySpace Open Source MapReduce Framework

Microsoft está no processo de lançamento de HDInsight , que é anunciado como seu "distribuição Hadoop 100% compatível Apache."

Ele está disponível tanto no Windows Server e como um serviço Windows Azure.

Microsoft Research tem projeto de Daytona http://research.microsoft.com/en-us/projects/daytona/

Você pode baixá-lo. Há uma amostra WordCount em C #.

Você pode agora usar o Hadoop diretamente do .NET Microsoft lançar um SDK para fazê-lo.

https://hadoopsdk.codeplex.com/

É claro que isso significa usar o java rede Hadoop base. Mas não importa se o servidor está em execução em java? Estou certo de que alguém pode tentar porta-lo, mas eu não acho que seria uma boa idéia de como corporações já estão apoiando a versão java e eu não acho que a porta NET receberá a mesma atenção.

Tenha um olhar em:

http://www.windowsazure.com/en-us/services/hdinsight /

É uma implementação do Hadoop para Azure e você pode usar NET para acessá-lo.

Internamente, Microsoft têm vindo a utilizar Cosmos. Este foi disponibilizado fora Microsoft através Azure. É nomeado Azure dados Lake Analytics e Azure dados Lake Store. Azure Lake dados do Analytics é uma espécie de fio como um serviço e Azure dados Lake Store WebHDFS como um serviço. A primeira versão do Azure dados Lake Analytics apenas anfitriões U-SQL uma linguagem baseada no Transact-SQL + C #.

Há uma implementação de MapReduce muito bonito para .NET em: http://mapsharp.codeplex.com/

dryad / linq está sendo productized e será lançado em breve: http: / /blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx usar em conjunto com o Microsoft HPC para uma solução baseada poderoso, cluster para quering dados não estruturados

Como já foi mencionado, DryadLINQ é um quadro de programação que permite aos desenvolvedores para consultas LINQ gravação e executá-los em um cluster, de forma semelhante ao MapReduce. O projeto DryadLINQ foi recentemente lançado sob a licença Apache em GitHub , ea versão inclui suporte para execução em aglomerados de fios (incluindo grupos Azure HDInsight).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top