Apache Hadoop'a eşdeğer bir .NET var mı? [kapalı]


98

Bu yüzden, Hadoop'a büyük bir ilgiyle bakıyordum ve dürüst olmak gerekirse, büyüleniyorum, işler pek soğumuyor.

Tek küçük sorunum, bir C # geliştiricisiyim ve o Java'da.

Java'yı Hadoop.net veya NHadoop veya Google MapReduce yaklaşımını benimseyen .NET projesini aradığım kadar anlamadığımdan değil . Birini bilen var mı?

Yanıtlar:


57

Hadoop'un akışını kullanmaya baktınız mı ?

Her zaman python'da kullanıyorum :-).

Heterojen yaklaşımın genellikle en iyisi olduğunu görmeye başladım ve görünüşe göre diğer insanlar da aynı şeyi yapıyor.

Protokol arabellekleri veya facebook'un tasarrufları gibi projelere bakarsanız, bazen başka bir dilde yazılmış bir uygulamayı kullanmanın ve yapıştırıcıyı tercih ettiğiniz dilde oluşturmanın en iyisi olduğunu görürsünüz.


2
Bu, C # 'da Hadoop'a sahip olmak, süreçleri ayrıştırmak ve veriler dizeler olarak iletmek gibi bir teknik değildir, bu o kadar verimli olamazdı.
Felice Pollano

13

7
Microsoft, Dryad'ı iptal etti ve Hadoop ile devam etmeye karar verdi
Arnon Rotem-Gal-Oz

@ ArnonRotem-Gal-Oz: Microsoft'tan bu ifadeye bir referans var mı?
Abel

4
bkz. blogs.technet.com/b/windowshpc/archive/2011/11/11/… - "Bu sürümün bir parçası olarak LINQ'nun önizleme sürümünü HPC'ye güncelledik, ancak bu son önizleme olacak ve biz üretim sürümüyle ilerlemeyi planlamayın. Ekim ayında PASS konferansında yaptığımız duyuruya uygun olarak, çabalarımızı Apache Hadoop'u hem Windows Server hem de Windows Azure'a getirmeye odaklayacağız ... "
Arnon Rotem-Gal-Oz

13

Yakın zamanda MySpace, .NET MapReduce çerçevesi Qizmt'i Açık Kaynak olarak yayınladı , bu nedenle bu aynı zamanda bu alanda potansiyel bir rakip.


2
Onların lisans GPL olduğu; (büyük olurdu onlar bir şey daha az kısıtlayıcı seçtiyseniz ...
IgorK

3
Bu durumda GPL'nin yolunuza çıkması pek olası değil. Değişikliklerinizi kuruluşunuzun dışında kaynağa (eğer yaptıysanız) dağıtmadığınız sürece, kodunuzun herhangi birini serbest bırakmanız gerekmeyecektir.
foxxtrot

Kapalı kaynaklı ürünümüzün (ürün şirketi olarak) dağıtımını yapıyoruz. Ve eğer GPL'lenmiş yazılım bileşenine güvenmeye çalışırsak, o zaman kaynaklarımızı da otomatik olarak dağıtmamız gerekir, kapalı kaynak projesine bir kütüphane dahil edilmesinin uygun olduğu yerlerde LGPL değildir :(
IgorK

Tamamen adil. Sadece çoğu insanın Map-Reduce çerçevesini kullanmasının bu sınırlamaya sahip olmayacağını düşünüyorum. Bununla birlikte, ayrı olarak lisanslamadıklarını söyleyebildiğim kadarıyla, MySpace'in bunu GPL olarak yayınlama iş durumunu anlamıyorum.
foxxtrot

Ben de anlamıyorum! Birisi bir 'MySpace katili' yaratmak isterse, onu şirket içinde kullanarak (ikilinin veya kaynağın yeniden dağıtılması olmadan) tatmin olması muhtemeldir. Sanırım AGPL (Affero GPL) kullanmak, onu kullanarak ve herhangi bir kaynak dağıtmamakla ilgili bir boşluğu gidermek için daha uygun olur ... Üzgün ​​ve garip: /
IgorK

10

Buradaki sorumda sorunuzu cevapladım

Bunu burada kaynakta söylemek için:

Microsoft , alternatifini ( Dryad ) Hadoop lehine bıraktı . Önümüzdeki yıl, Hadoop entegrasyonlu MS SQL Server 2012'yi piyasaya sürecek. Azure ve Windows Sever desteği biz konuşurken bile geliştiriliyor.

2012'nin ilk yarısında satışa sunulacak.

Hadoop, 1 numaralı BigData platformudur ve açık kaynak ve özel kaynak (Java, .Net, Python, ...) tarafından desteklenecek ve Oracle bile benimsiyor.

Bir şey geliştiriyorsanız, .Net platformundaysanız beklemelisiniz.

Neyin mümkün olduğu hakkında daha fazla bilgi burada mevcut olacak


5

DryadLinq'in biz .NET halkının Hadoop'a sahip olduğu en yakın şey olduğunu söyleyebilirim. Ama hadoop'u ne için kullanmak istediğine bağlı. Optimize edilmiş kendi kendini koruyan dağıtılmış dosya (DFS) sistemini arıyorsanız , DryadLINQ aradığınız şey değildir. DFS'ye bir analogu vardır, ancak bölümleri manuel olarak oluşturmanız ve her bölümü dağıtmanız gerekir.

Bununla birlikte, aradığınız Hadoop'un dağıtılmış yürütme yönü DryadLINQ'dan çok gerçekten harika ise (ve hayır, MS'e bağlı değilim). Bir Microsoft HPC küme kurulumunuz olduğu sürece, DryadLINQ ile başlamak gerçekten çok kolaydır.

Yazdığınız kod gerçekten sadece düz LINQ kodudur, ancak LINQ üzerinde IEnumerable<T>yürütmek yerine onu yürütmeniz gerekir PartitionedTable<T>(kendi kendine derlenen dağıtılmış veri yapısı).

DryadLINQ hakkında gerçekten harika olan şey, algoritmalar geliştirirken hızlı dönüş süresidir (deneyin, test edin, ayarlayın, tekrarlayın). Hesaplamalarınızı yapmak için LINQ kodunu yazmanız yeterlidir ve DryadLINQ dağıtılmış yürütme bölümünün tamamını halleder. Tek işlem için kod yazmak gibi, dağıtılmış işlem için kod yazmayı yapan karşılaştığım en doğal analog.


4

RavenDb gibi bir şeye bakabilirsiniz, oldukça büyük bir veri boyutu için MapReduce için çok iyi destek sağlar. .Net'te yerleşik olduğundan uygun bir LINQ istemci API'si mevcuttur.

http://ravendb.net/

Başlamak için blog girişimi okuyabilirsiniz .


2

Apache Hadoop'u ve akışını kullanmak daha iyi olabilir çünkü Apache Hadoop, Yahoo ve Facebook gibi Sektördeki büyük devler tarafından aktif olarak geliştirilip sürdürülmektedir. Böylece yapmasını beklediğiniz şeyi yapabilir.

NET'te bir çözüme ihtiyacınız varsa lütfen Myspace uygulamasını kontrol edin @ MySpace Qizmt - MySpace'in Açık Kaynak Mapreduce Framework


2

Microsoft, "% 100 Apache uyumlu Hadoop dağıtımı" olarak faturalandırılan HDInsight'ı kullanıma sunma sürecindedir .

Hem Windows Sunucusunda hem de Windows Azure hizmeti olarak mevcuttur.


1
HDInsight, Hortonworks dağıtımıdır. Diğer büyük satıcılar da dağıtımlarını Azure üzerinde sunmak için Microsoft ile birlikte çalışıyor. Sorusuna Dair: orada HDInsight için .NET arayüzlerine rağmen HDInsight kendisi NET değil
ashtonium


1

Artık Hadoop'u doğrudan .NET'ten kullanabilirsiniz Microsoft bunu yapmak için bir SDK yayınladı.

https://hadoopsdk.codeplex.com/

Elbette bu, java tabanlı Hadoop ağını kullanmak anlamına gelir. Ancak sunucunun java'da çalışıyor olması önemli mi? Eminim birileri onu taşımaya çalışabilir, ancak şirketler zaten java sürümünü desteklediği için iyi bir fikir olacağını düşünmüyorum ve .NET bağlantı noktasının aynı ilgiyi göreceğini düşünmüyorum.



1

Microsoft dahili olarak Cosmos kullanıyor. Bu, Azure aracılığıyla Microsoft dışında kullanıma sunulmuştur. Bu adlandırılmış oluyor Azure Veri Gölü Analytics ve Azure Veri Gölü Store'u . Azure Data Lake analizi, bir hizmet olarak Yarn ve hizmet olarak Azure Data Lake Store WebHDFS'dir. Azure Data Lake Analytics'in ilk sürümü yalnızca Transact-SQL + C # tabanlı bir dili U-SQL barındırır.



0

dryad / linq üretiliyor ve yakında piyasaya sürülecek: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx birlikte kullanım Yapılandırılmamış verileri sorgulamaya yönelik güçlü, küme tabanlı bir çözüm için Microsoft HPC ile


/ yakında yayınlanacak / yayınlanmayacak , yukarıdaki cevaplara bakın
om-nom-nom

1
Şüpheli Dryad ve HDInsight birbiriyle çelişiyor. Duymaya devam edin Microsoft, HDInsight için Dryad'ı bırakacak
Swab.Jat

0

Diğerlerinin de belirttiği gibi DryadLINQ , geliştiricilerin LINQ sorguları yazmasına ve bunları MapReduce'a benzer şekilde bir küme üzerinde yürütmesine olanak tanıyan bir programlama çerçevesidir. DryadLINQ projesi yakın zamanda GitHub'da Apache lisansı altında yayınlandı ve sürüm, YARN kümelerinde (Azure HDInsight kümeleri dahil) çalıştırma desteği içeriyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.