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?

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.


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

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.


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


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.


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.



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.


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.



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 #.




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).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.