Rumah Kewangan Peribadi Cara Menggunakan MapReduce untuk Data Besar - dummies

Cara Menggunakan MapReduce untuk Data Besar - dummies

Isi kandungan:

Video: Create and Execute MapReduce in Eclipse 2024

Video: Create and Execute MapReduce in Eclipse 2024
Anonim

MapReduce adalah rangka kerja perisian yang sesuai untuk data besar kerana ia membolehkan pemaju untuk menulis program yang dapat memproses sejumlah besar data tidak berstruktur secara selari dalam kumpulan pemproses yang diedarkan.

Fungsi peta untuk data besar

Fungsi peta telah menjadi sebahagian daripada banyak bahasa pengaturcaraan berfungsi selama bertahun-tahun. Peta telah diperkayakan sebagai teknologi teras untuk memproses senarai elemen data.

Pengendali dalam bahasa berfungsi tidak mengubah struktur data; mereka mencipta struktur data baru sebagai output mereka. Data asal itu sendiri juga tidak diubah suai. Oleh itu, anda boleh menggunakan fungsi peta dengan sewenang-wenangnya kerana ia tidak akan membahayakan data yang disimpan berharga anda.

Satu lagi kelebihan untuk pengaturcaraan berfungsi tidak perlu menguruskan pergerakan atau aliran data secara jelas. Ini membebaskan pengaturcara daripada menguruskan output data dan penempatan secara jelas. Akhir sekali, perintah operasi pada data tidak ditetapkan.

Salah satu cara untuk menyelesaikannya ialah dengan mengenal pasti data input dan membuat senarai:

mylist = ("semua daerah di dalam kita yang mengambil bahagian dalam pilihan raya umum terakhir") > Buat fungsi howManyPeople menggunakan fungsi peta

. Ini hanya memilih daerah dengan lebih daripada 50, 000 orang: peta howManyPeople (mylist) = [HowManyPeople "county 1"; howManyPeople "county 2"; howManyPeople "county 3"; howManyPeople "county 4"; …]

Sekarang menghasilkan senarai output baru semua daerah dengan populasi lebih daripada 50, 000:

(tidak, daerah 1; ya, daerah 2; tidak, daerah 3; ya, daerah 4;?, Daerah nnn)
Fungsi dijalankan tanpa membuat sebarang perubahan pada senarai asal. Di samping itu, anda dapat melihat bahawa setiap elemen senarai output peta ke elemen yang sama dalam senarai input, dengan ya atau tidak. Sekiranya daerah memenuhi keperluan lebih daripada 50, 000 orang, fungsi peta mengenal pasti dengan ya. Jika tidak, tiada yang ditunjukkan.

Tambah fungsi mengurangkan data besar

Seperti fungsi peta,

mengurangkan telah menjadi ciri bahasa pengaturcaraan berfungsi selama bertahun-tahun. Fungsi mengurangkan mengambil output fungsi peta dan "mengurangkan" senarai dalam apa jua cara keinginan programmer. Langkah pertama yang diperlukan untuk mengurangkan fungsi ialah dengan meletakkan nilai dalam sesuatu yang disebut

accumulator , yang memegang nilai awal. Setelah menyimpan nilai permulaan dalam penumpuk, fungsi mengurangkan kemudian memproses setiap elemen senarai dan melakukan operasi yang anda perlukan di seluruh senarai.

Pada akhir senarai, fungsi mengurangkan mengembalikan nilai berdasarkan operasi yang anda ingin lakukan pada senarai output.

Anggaplah anda perlu mengenal pasti daerah-daerah di mana majoriti undi untuk calon Demokratik. Ingat bahawa fungsi peta HowManyPeople anda melihat setiap elemen senarai input dan mencipta senarai output daerah dengan lebih daripada 50,000 orang (ya) dan daerah dengan kurang daripada 50,000 orang (tidak).

Selepas memohon fungsi peta howManyPeople, anda dibiarkan dengan senarai output berikut:

(tidak, daerah 1; ya, daerah 2; tidak, daerah 3; ya, daerah 4;, nnn daerah)

Ini kini input untuk mengurangkan fungsi anda. Inilah yang kelihatan seperti:

countylist = (tidak, daerah 1; ya, daerah 2; tidak, daerah 3; ya, daerah 4;?, Daerah nnn) mengurangi isDemocrat (countylist)

setiap elemen senarai dan mengembalikan senarai semua daerah dengan populasi lebih daripada 50, 000, di mana majoriti mengundi Demokratik.

Meletakkan peta data besar dan mengurangkan bersama

Kadang-kadang menghasilkan senarai output cukup. Begitu juga, kadang-kadang melaksanakan operasi pada setiap elemen senarai adalah cukup. Selalunya, anda ingin melihat sejumlah besar data input, memilih elemen tertentu dari data, dan kemudian mengira sesuatu nilai dari kepingan data yang berkaitan.

Anda tidak mahu mengubah senarai input supaya anda dapat menggunakannya dengan cara yang berbeza dengan andaian baru dan data baru.

Aplikasi reka bentuk pemaju perisian berdasarkan algoritma. Satu

algoritma tidak lebih daripada satu siri langkah yang perlu berlaku dalam perkhidmatan kepada matlamat keseluruhan. Ia mungkin kelihatan seperti ini: Mulakan dengan nombor atau data atau rekod yang banyak.

  1. Galakkan data.

  2. Gunakan fungsi peta untuk mengekstrak sesuatu yang menarik dan buat senarai output.

  3. Susun senarai output untuk dioptimumkan untuk pemprosesan selanjutnya.

  4. Gunakan fungsi mengurangkan untuk mengira satu set keputusan.

  5. Menghasilkan output akhir.

  6. Pengaturcara boleh melaksanakan semua jenis aplikasi menggunakan pendekatan ini, tetapi contoh-contoh ke titik ini sangat mudah, jadi nilai sebenar MapReduce mungkin tidak jelas. Apa yang berlaku apabila anda mempunyai data input yang sangat besar? Bolehkah anda menggunakan algoritma yang sama pada terabytes data? Berita baiknya adalah ya.

Semua operasi kelihatan bebas. Itulah kerana mereka. Kuasa sebenar MapReduce adalah keupayaan untuk membahagikan dan menaklukkan. Mengambil masalah yang sangat besar dan memecahnya menjadi lebih kecil, lebih mudah terkawal, beroperasi pada setiap bahagian secara bebas, dan kemudian tarik semuanya bersama-sama pada akhirnya. Tambahan pula, fungsi peta adalah commutative - dengan kata lain, perintah yang berfungsi dilaksanakan tidaklah penting.

Jadi MapReduce boleh melakukan kerja pada mesin yang berbeza dalam rangkaian. Ia juga boleh menarik dari pelbagai sumber data, dalaman atau luaran. MapReduce menjejaki kerjanya dengan mencipta kunci yang unik untuk memastikan semua pemprosesan berkaitan dengan menyelesaikan masalah yang sama.Kekunci ini juga digunakan untuk menarik semua output bersama-sama pada akhir semua tugas yang diedarkan.

Cara Menggunakan MapReduce untuk Data Besar - dummies

Pilihan Editor

Cara menggunakan Pemesejan Segera dengan Akaun MySpace anda - dummies

Cara menggunakan Pemesejan Segera dengan Akaun MySpace anda - dummies

Pasangan mySpaceIM MySpace Instant Messaging (IMing ) dengan perkhidmatan Skype telefon Internet yang popular, membolehkan anda menghantar dan menerima sama ada mesej menaip atau komunikasi suara. MySpaceIM berfungsi pada mesin Windows sahaja yang menggunakan Internet Explorer Microsoft. Sekiranya anda mempunyai Mac atau menggunakan pelayar yang berbeza, anda tidak bernasib baik. Juga, sesiapa sahaja yang anda mahu ...

Cara Menggunakan Profil MySpace Edit Halaman - dummies

Cara Menggunakan Profil MySpace Edit Halaman - dummies

Dengan halaman Edit Profil MySpace, anda boleh tambah, padam, atau tukar maklumat profil anda bila-bila masa anda mahu. Untuk membuka halaman Edit Profil, cuma pergi ke halaman utama anda dan klik pautan Edit Profil di sudut kiri atas. Tab Maklumat Peribadi di halaman Profil Edit dibahagikan kepada lapan skrin berasingan ...

Pilihan Editor

Cara Menggunakan Templat dalam Excel 2007 - dummies

Cara Menggunakan Templat dalam Excel 2007 - dummies

Excel 2007 menyediakan template yang direka bentuk, lembaran kerja untuk kegunaan umum. Templat mengandungi teks standard atau boilerplate, tetapi anda boleh mengubah suai template untuk memenuhi keperluan anda. Anda boleh menggunakan templat secara automatik dipasang dengan Excel 2007, atau anda boleh memuat turun templat percuma dari laman web Microsoft Office Online. Templat berikut dipasang secara automatik apabila ...

Cara menggunakan fungsi teks di Excel 2013 - dummies

Cara menggunakan fungsi teks di Excel 2013 - dummies

Fungsi teks di Excel 2013 menu lungsur butang arahan pada tab Rumus Ribbon (Alt + MT). Terdapat dua jenis fungsi teks: fungsi seperti VALUE, TEXT, dan DOLLAR yang menukarkan entri teks berangka ke dalam nombor dan entri berangka ke dalam teks, dan berfungsi seperti UPPER, LOWER, dan PROPER yang ...

Pilihan Editor

Cara Mengatur Laman Web Anda dengan Tabel dan Bingkai - dummies

Cara Mengatur Laman Web Anda dengan Tabel dan Bingkai - dummies

Menggunakan jadual dan bingkai pada halaman Web anda membantu anda membentangkan maklumat kepada pelawat laman anda dengan cara teratur. Jadual adalah alat susunatur untuk jadual data pada halaman Web, tetapi keupayaan meja untuk laman web telah lama digunakan untuk mengawal susun atur keseluruhan halaman. Pereka membuat sel ...

Cara Mendaftar Nama Domain Anda - dummies

Cara Mendaftar Nama Domain Anda - dummies

Ketika membina sebuah laman web, pantai jelas dan nama domain yang anda mahukan memang ada. Seterusnya, sudah tiba masanya untuk mendaftarkan nama domain itu. Apabila anda mendaftarkan nama domain, pastikan anda mendaftarkannya selama sekurang-kurangnya tiga tahun. Anda boleh mendaftar untuk sekurang-kurangnya ...

Cara Hapus Pemformatan yang Tidak Diingini dari Laman Web Anda - para pengedit kod paling banyak

Cara Hapus Pemformatan yang Tidak Diingini dari Laman Web Anda - para pengedit kod paling banyak

Yang secara automatik membersihkan kesilapan biasa dalam kod anda. Sebagai contoh, arahan Clean Up Word HTML / XHTML dalam Dreamweaver adalah satu kemestian bagi mana-mana halaman web yang merangkumi kandungan yang disalin dari Word atau mana-mana dokumen Microsoft lain. Ini penting kerana fail Microsoft sering membenamkan tambahan ...