Apakah ada .NET yang setara dengan Apache Hadoop? [Tutup]

98

Jadi, saya telah melihat Hadoop dengan penuh minat, dan sejujurnya saya terpesona, semuanya tidak menjadi lebih keren.

Satu-satunya masalah kecil saya adalah saya seorang pengembang C # dan itu ada di Java.

Bukannya saya tidak memahami Java sebanyak saya mencari Hadoop.net atau NHadoop atau proyek .NET yang menggunakan pendekatan Google MapReduce . Apakah ada yang tahu?

danswain
sumber

Jawaban:

57

Pernahkah Anda melihat menggunakan streaming Hadoop?

Saya menggunakannya di python sepanjang waktu :-).

Saya mulai melihat bahwa pendekatan heterogen seringkali adalah yang terbaik dan sepertinya orang lain melakukan hal yang sama.

Jika Anda melihat proyek-proyek seperti protokol-buffer atau penghematan facebook, Anda melihat bahwa terkadang yang terbaik adalah menggunakan aplikasi yang ditulis dalam bahasa lain dan membangun perekat dalam bahasa preferensi Anda.

mengunyah
sumber
2
Ini tidak secara teknis memiliki Hadoop di C #, streaming memisahkan proses dan data diteruskan sebagai string, yang tidak bisa begitu efisien.
Felice Pollano
13

Lihat http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx atau http://msdn.microsoft.com/en-us/library/dd179423.aspx


sumber
7
Microsoft membatalkan Dryad dan memutuskan untuk tetap menggunakan Hadoop
Arnon Rotem-Gal-Oz
@ ArnonRotem-Gal-Oz: apakah Anda memiliki referensi tentang pernyataan tersebut dari Microsoft?
Abel
4
lihat blogs.technet.com/b/windowshpc/archive/2011/11/11/… - "Sebagai bagian dari rilis ini kami juga telah memperbarui versi pratinjau LINQ ke HPC, namun, ini akan menjadi pratinjau terakhir dan kami tidak berencana untuk melanjutkan dengan rilis produksi. Sejalan dengan pengumuman kami pada bulan Oktober di konferensi PASS, kami akan memfokuskan upaya kami untuk menghadirkan Apache Hadoop ke Windows Server dan Windows Azure ... "
Arnon Rotem-Gal-Oz
13

Baru-baru ini, MySpace merilis framework .NET MapReduce mereka, Qizmt , sebagai Open Source, jadi ini juga merupakan pesaing potensial di ruang ini.

foxxtrot.dll
sumber
2
Lisensi mereka adalah GPL; (Akan lebih bagus jika mereka memilih sesuatu yang tidak terlalu membatasi ...
IgorK
3
Sangat tidak mungkin GPL akan menghalangi Anda dalam kasus ini. Selama Anda tidak mendistribusikan modifikasi Anda ke sumber (jika Anda telah membuatnya) di luar organisasi Anda, Anda tidak akan diharuskan untuk merilis kode Anda.
foxxtrot
Kami mendistribusikan produk sumber tertutup kami (sebagai perusahaan produk). Dan jika kami mencoba mengandalkan komponen perangkat lunak GPL maka kami secara otomatis perlu mendistribusikan sumber kami juga, itu bukan LGPL yang menyertakan pustaka dalam proyek sumber tertutup tidak apa-apa :(
IgorK
Sangat adil. Saya hanya berpikir bahwa penggunaan kerangka Map-Reduce oleh kebanyakan orang tidak akan memiliki batasan ini. Yang mengatakan, saya tidak mengerti kasus bisnis MySpace untuk merilis ini sebagai GPL, sejauh yang saya tahu mereka tidak melisensikannya secara terpisah.
foxxtrot
Saya juga tidak mengerti! Jika seseorang ingin membuat 'MySpace killer', mereka kemungkinan besar akan puas dengan menggunakannya sendiri (tanpa redistribusi biner atau sumber). Saya kira menggunakan AGPL (Affero GPL) akan lebih tepat untuk memperbaiki celah dengan layanan web publik yang menggunakannya dan tidak mendistribusikan sumber apa pun ... Sedih dan aneh: /
IgorK
10

Saya menjawab pertanyaan Anda dalam pertanyaan saya di sini

Untuk mengatakannya di sini di sumber:

Microsoft menjatuhkan alternatifnya ( Dryad ) dan mendukung Hadoop. Tahun depan mereka akan merilis MS SQL Server 2012 dengan integrasi Hadoop. Dukungan Azure dan Windows Sever sedang dikembangkan bahkan saat kita berbicara.

Ini akan tersedia pada paruh pertama tahun 2012.

Hadoop adalah platform BigData # 1 dan akan didukung oleh sumber terbuka dan sumber kepemilikan (Java, .Net, Python, ...) bahkan Oracle mengadopsinya.

Jika Anda sedang mengembangkan sesuatu, Anda harus menunggu jika Anda menggunakan platform .Net.

Informasi lebih lanjut tentang apa yang mungkin akan tersedia di sini

NicoJuicy
sumber
5

Saya akan mengatakan bahwa DryadLinq adalah hal terdekat yang kita miliki. NET rakyat harus Hadoop. Tetapi itu tergantung untuk apa Anda ingin menggunakan hadoop. Jika Anda mencari sistem file terdistribusi mandiri (DFS) yang dioptimalkan, maka DryadLINQ bukanlah yang Anda cari. Ini memiliki analog ke DFS tetapi Anda harus membangun partisi secara manual dan mendistribusikan setiap partisi.

Yang sedang berkata, jika aspek eksekusi terdistribusi dari Hadoop yang Anda cari daripada DryadLINQ benar-benar luar biasa (dan tidak, saya tidak berafiliasi dengan MS). Selama Anda memiliki pengaturan cluster HPC Microsoft daripada menggunakan DryadLINQ sangat mudah.

Kode yang Anda tulis sebenarnya hanya kode LINQ lurus, kecuali alih-alih mengeksekusi LINQ, IEnumerable<T>Anda harus mengeksekusinya PartitionedTable<T>(struktur data terdistribusi yang dibuat sendiri).

Yang benar-benar keren tentang DryadLINQ adalah waktu perputaran yang cepat (coba, uji, sesuaikan, ulangi) saat mengembangkan algoritme. Anda cukup menulis kode LINQ untuk melakukan penghitungan dan DryadLINQ akan menangani seluruh bagian eksekusi terdistribusi. Ini adalah analog paling alami yang pernah saya temui yang membuat kode penulisan untuk pemrosesan terdistribusi seperti menulis kode untuk pemrosesan proses tunggal.

Turbo
sumber
4

Anda dapat melihat sesuatu seperti RavenDb yang menyediakan dukungan yang sangat layak untuk MapReduce untuk ukuran data yang cukup besar. karena dibangun di .Net sehingga API klien LINQ yang tepat tersedia.

http://ravendb.net/

Untuk memulai, Anda dapat membaca blog saya entery.

Ovais
sumber
2

Mungkin lebih baik menggunakan Apache Hadoop dan streaming karena Apache Hadoop secara aktif dikembangkan dan dikelola oleh raksasa besar di Industri seperti Yahoo dan Facebook. Sehingga dapat melakukan apa yang Anda harapkan.

Jika Anda membutuhkan solusi di .NET, periksa implementasi Myspace @ MySpace Qizmt - Kerangka Kerja Mapreduce Sumber Terbuka MySpace

Dileep stanley
sumber
2

Microsoft sedang dalam proses meluncurkan HDInsight , yang disebut sebagai "distribusi Hadoop yang 100% kompatibel dengan Apache".

Ini tersedia baik di Windows Server dan sebagai layanan Windows Azure.

Buggieboy
sumber
1
HDInsight adalah distribusi Hortonworks. Vendor besar lainnya juga bekerja sama dengan Microsoft untuk menawarkan distribusi mereka di Azure. Berkenaan dengan pertanyaan: ada antarmuka .NET untuk HDInsight, tetapi HDInsight sendiri tidak .NET
ashtonium
1

Anda sekarang dapat menggunakan Hadoop langsung dari .NET Microsoft telah merilis SDK untuk melakukannya.

https://hadoopsdk.codeplex.com/

Tentu saja ini berarti menggunakan jaringan Hadoop berbasis java. Tetapi apakah penting jika server berjalan di java? Saya yakin seseorang mungkin mencoba untuk mem-portnya tetapi saya rasa itu tidak akan menjadi ide yang baik karena perusahaan sudah mendukung versi java dan saya tidak berpikir port .NET akan mendapatkan perhatian yang sama.

Dreamwalker
sumber
1

Secara internal, Microsoft telah menggunakan Cosmos. Ini telah tersedia di luar Microsoft melalui Azure. Ini bernama Azure Data Lake Analytics dan Azure Data Lake Store . Analisis Azure Data Lake adalah jenis Yarn sebagai layanan dan Azure Data Lake Store WebHDFS sebagai layanan. Versi pertama dari Azure Data Lake Analytics hanya menghosting bahasa U-SQL berdasarkan Transact-SQL + C #.

benjguin
sumber
0

dryad / linq sedang diproduksi dan akan segera dirilis: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx digunakan bersama dengan Microsoft HPC untuk solusi berbasis cluster yang andal untuk mengkueri data tidak terstruktur

John
sumber
/ akan segera dirilis / tidak akan, lihat jawaban di atas
om-nom-nom
1
Tersangka Dryad dan HDInsight berselisih satu sama lain. Terus dengar Microsoft akan menjatuhkan Dryad untuk HDInsight
Swab.Jat
0

Seperti yang telah disebutkan orang lain, DryadLINQ adalah kerangka kerja pemrograman yang memungkinkan pengembang untuk menulis kueri LINQ dan mengeksekusinya di cluster, dengan cara yang mirip dengan MapReduce. Proyek DryadLINQ baru-baru ini dirilis di bawah lisensi Apache di GitHub , dan rilis tersebut menyertakan dukungan untuk berjalan di kluster YARN (termasuk kluster Azure HDInsight).

tuan
sumber