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?
Lihat http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx atau http://msdn.microsoft.com/en-us/library/dd179423.aspx
sumber
Baru-baru ini, MySpace merilis framework .NET MapReduce mereka, Qizmt , sebagai Open Source, jadi ini juga merupakan pesaing potensial di ruang ini.
sumber
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
sumber
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 mengeksekusinyaPartitionedTable<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.
sumber
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.
sumber
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
sumber
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.
sumber
Microsoft Research memiliki proyek Daytona http://research.microsoft.com/en-us/projects/daytona/
Anda bisa mendownloadnya. Ada contoh WordCount di C #.
sumber
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.
sumber
Silahkan lihat di:
http://www.windowsazure.com/en-us/services/hdinsight/
Ini adalah implementasi Hadoop untuk Azure dan Anda dapat menggunakan .NET untuk mengaksesnya.
sumber
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 #.
sumber
Ada implementasi MapReduce yang cukup lucu untuk .NET di: http://mapsharp.codeplex.com/
sumber
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
sumber
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).
sumber