Domanda

Quindi, ho guardato Hadoop con vivo interesse, e ad essere sincero sono affascinato , le cose non sono molto più belle.

Il mio unico problema minore è che sono uno sviluppatore C # ed è in Java.

Non è che non capisca Java tanto quanto sto cercando Hadoop.net o NHadoop o il progetto .NET che abbraccia il Google MapReduce . Qualcuno ne conosce uno?

È stato utile?

Soluzione

Hai mai usato lo streaming di Hadoop?

Lo uso sempre in Python :-).

Sto iniziando a capire che l'approccio eterogeneo è spesso il migliore e sembra che altre persone stiano facendo lo stesso.

Se guardi progetti come buffer di protocollo o parsimonia di Facebook, vedi che a volte è meglio usare un'app scritta in un'altra lingua e costruire la colla nella lingua che preferisci.

Altri suggerimenti

Di recente, MySpace ha rilasciato il suo framework .NET MapReduce, Qizmt , come Open Source, quindi anche questo è un potenziale contendente in questo spazio.

Ho risposto alla tua domanda nella mia domanda qui

Per dirlo qui nella fonte:

Microsoft abbandonato la sua alternativa ( Dryad ) a favore di Hadoop. L'anno prossimo rilasceranno MS SQL Server 2012 con l'integrazione di Hadoop. Il supporto di Azure e Windows Sever è in fase di sviluppo anche mentre parliamo.

Sarà disponibile nella prima metà del 2012.

Hadoop è la prima piattaforma BigData e sarà supportata da opensource e proprietaria sorgente (Java, .Net, Python, ...) persino Oracle lo sta adottando.

Se stavi sviluppando qualcosa, dovresti aspettare se sei sulla piattaforma .Net.

Ulteriori informazioni su ciò che è possibile saranno disponibili qui

Direi che DryadLinq è la cosa più vicina che noi gente di NET dobbiamo fare con Hadoop. Ma dipende da cosa vuoi usare hadoop. Se stai cercando il sistema di file distribuito autosufficiente ottimizzato (DFS), DryadLINQ non è quello che stai cercando. Ha un analogo al DFS ma devi creare manualmente le partizioni e distribuire ogni partizione.

Detto questo, se è l'aspetto dell'esecuzione distribuita di Hadoop che stai cercando di DryadLINQ è davvero meraviglioso (e no, non sono affiliato con MS). Fintanto che hai una Microsoft HPC l'installazione del cluster rispetto a DryadLINQ è davvero facile.

Il codice che scrivi è davvero un semplice codice LINQ, tranne che invece di eseguire LINQ su IEnumerable<T> devi eseguirlo su PartitionedTable<T> (la struttura di dati distribuiti autocostruita).

Ciò che è stato davvero interessante di DryadLINQ è il tempo di rotazione veloce (provare, testare, regolare, ripetere) durante lo sviluppo di algoritmi. Basta scrivere il codice LINQ per eseguire i calcoli e DryadLINQ si occuperà dell'intera parte dell'esecuzione distribuita. È l'analogo più naturale che ho incontrato che rende la scrittura del codice per l'elaborazione distribuita proprio come la scrittura del codice per l'elaborazione a processo singolo.

Puoi guardare qualcosa come RavenDb che fornisce un supporto decente per MapReduce per una dimensione dei dati abbastanza grande. poiché è integrato in .Net, quindi è disponibile un'API client LINQ adeguata.

http://ravendb.net/

Per iniziare puoi leggere il mio blog entery.

Potrebbe essere meglio usare Apache Hadoop e streaming perché Apache Hadoop è attivamente sviluppato e gestito da grandi giganti del settore come Yahoo e Facebook. Quindi può fare quello che ti aspetti che faccia.

Se hai bisogno di una soluzione in .NET, controlla l'implementazione di Myspace @ MySpace Qizmt - MySpace & # 8217; s Open Source Mapreduce Framework

Microsoft sta implementando HDInsight , che viene fatturato come & Quot; distribuzione Hadoop compatibile con Apache al 100%. & Quot;

È disponibile sia su Windows Server sia come servizio Windows Azure.

Microsoft Research ha il progetto Daytona http://research.microsoft.com/en-us/projects/daytona/

Puoi scaricarlo. C'è un esempio di WordCount in C #.

Ora puoi usare Hadoop direttamente da .NET Microsoft ha rilasciato un SDK per farlo.

https://hadoopsdk.codeplex.com/

Ovviamente questo significa usare la rete Hadoop basata su Java. Ma importa se il server è in esecuzione in Java? Sono sicuro che qualcuno potrebbe tentare di portarlo ma non penso che sarebbe una buona idea dato che le aziende stanno già supportando la versione java e non credo che la porta .NET avrà la stessa attenzione.

Dai un'occhiata:

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

È un'implementazione di Hadoop per Azure ed è possibile usare .NET per accedervi.

Internamente, Microsoft utilizza Cosmos. Questo è stato reso disponibile all'esterno di Microsoft tramite Azure. Si chiama Azure Data Lake Analytics e Azure Data Lake Store . L'analisi di Azure Data Lake è una sorta di filato come servizio e Azure Data Lake Store WebHDFS come servizio. La prima versione di Azure Data Lake Analytics ospita solo U-SQL un linguaggio basato su Transact-SQL + C #.

Esiste un'implementazione MapReduce per .NET piuttosto carina all'indirizzo: http://mapsharp.codeplex.com/

dryad / linq è in fase di produzione e verrà rilasciato presto: http: / /blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx utilizzare in combinazione con Microsoft HPC per una potente soluzione basata su cluster per eseguire query su dati non strutturati

Come altri hanno già detto, DryadLINQ è un framework di programmazione che consente agli sviluppatori per scrivere query LINQ ed eseguirle su un cluster, in modo simile a MapReduce. Il progetto DryadLINQ è stato recentemente rilasciato sotto la licenza Apache su GitHub e la versione include il supporto per l'esecuzione su Cluster di filati (compresi i cluster di Azure HDInsight).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top