Sampingan Peta Bergabung dengan Vs. Sertailah



Catatan ini membincangkan bahagian Hadoop Map bergabung dengan Vs. sertai. Ketahui juga apa itu pengurangan peta, gabung meja, gabung sisi, kelebihan menggunakan operasi bergabung sisi peta di Hive

Dalam blog ini, kita akan membincangkan mengenai Gabung sebelah peta dan kelebihannya berbanding operasi bergabung biasa di Sarang .Ini adalah konsep penting yang perlu anda pelajari untuk melaksanakannya .Tetapi sebelum mengetahui mengenai perkara ini, kita harus terlebih dahulu memahami konsep ‘Sertai’ dan apa yang berlaku secara dalaman semasa kita melakukan penyertaan Sarang .

Sertailah adalah klausa yang menggabungkan catatan dua jadual (atau Set Data).
Andaikan kita mempunyai dua jadual A dan B. Apabila kita melakukan operasi bergabung, ia akan mengembalikan rekod yang merupakan gabungan semua lajur o f A dan B.





Sekarang mari kita fahami fungsi gabung biasa dengan contoh ..

Bila-bila masa, kami menerapkan operasi bergabung, tugas akan ditugaskan untuk tugas Mengurangi Peta yang terdiri dari dua tahap - a ‘Tahap peta 'Dan' Kurangkan tahap '. Tugas mapper semasa Map Stage adalah 'Baca' data dari jadual bergabung dan ke 'Kembali' yang ‘Kunci bergabung’ dan ‘Nilai bergabung’ pasangkan menjadi fail perantaraan. Selanjutnya, pada peringkat shuffle, fail perantaraan ini kemudian disusun dan digabungkan. Tugas pengurang semasa tahap pengurangan adalah mengambil hasil yang disusun ini sebagai input dan menyelesaikan tugas bergabung.



  • Sambungan di sisi peta mirip dengan gabung tetapi semua tugas akan dilakukan oleh pemeta sahaja.

  • Gabung di sebelah Peta akan sangat sesuai untuk meja kecil untuk mengoptimumkan tugas.



    struktur data kamus di java

Bagaimanakah gabungan di sebelah peta mengoptimumkan tugas?

Anggaplah kita mempunyai dua jadual yang salah satunya adalah meja kecil. Apabila kami menyerahkan tugas pengurangan peta, tugas lokal Mengurangi Peta akan dibuat sebelum bergabung dengan tugas Pengurangan Peta yang asli yang akan membaca data dari meja kecil dari HDFS dan menyimpannya ke dalam tabel hash dalam memori. Setelah membaca, ia menyusun jadual hash dalam memori menjadi fail jadual hash.

Pada peringkat seterusnya, ketika tugas bergabung Map Reduce yang asal dijalankan, ia memindahkan data dalam fail tabel hash ke cache diedarkan Hadoop, yang mengisi fail-fail ini ke setiap cakera tempatan mapper. Oleh itu, semua pemetaan dapat memuatkan fail jadual hash berterusan ini ke dalam memori dan melakukan kerja bergabung seperti sebelumnya. Aliran pelaksanaan gabungan peta yang dioptimumkan ditunjukkan pada gambar di bawah. Selepas pengoptimuman, jadual kecil perlu dibaca sekali sahaja. Juga jika banyak pemetaan berjalan pada mesin yang sama, cache yang diedarkan hanya perlu memasukkan satu salinan fail jadual hash ke mesin ini.

Kelebihan menggunakan gabungan sisi peta:

  • Gabung sisi peta membantu meminimumkan kos yang dikeluarkan untuk menyusun dan menggabungkan di rombak dan kurangkan tahap.
  • Penggabungan sisi peta juga membantu meningkatkan prestasi tugas dengan mengurangkan masa untuk menyelesaikan tugas.

Kekurangan gabungan sisi Peta:

  • Sambungan sisi peta hanya mencukupi apabila salah satu jadual di mana anda melakukan operasi bergabung sisi peta cukup kecil untuk dimasukkan ke dalam memori. Oleh itu, tidak sesuai untuk melakukan gabungan sisi peta di atas meja yang merupakan data besar dalam kedua-duanya.

Contoh Ringkas untuk Pengurangan Peta Bergabung:

Mari kita buat dua jadual:

  • Emp : mengandungi perincian mengenai Pekerja seperti nama Pekerja, ID Kakitangan dan Jabatan yang menjadi miliknya.

  • Jabatan: mengandungi perincian seperti Nama Jabatan, ID Jabatan dan sebagainya.

Buat dua fail input seperti yang ditunjukkan pada gambar berikut untuk memuat data ke dalam tabel yang dibuat.

pekerja.txt

dept.txt

c ++ susun atur int

Sekarang, mari kita memuatkan data ke dalam jadual.

Mari kita melaksanakan Sebelah peta Sertailah pada dua jadual untuk mengekstrak senarai jabatan di mana setiap pekerja bekerja.

Di sini, dept meja kedua adalah meja kecil. Ingatlah, selalu jumlah jabatan akan lebih sedikit daripada jumlah pekerja dalam organisasi.

Sekarang mari kita lakukan tugas yang sama dengan bantuan gabungan Reduce-side.

Semasa melaksanakan kedua-dua gabungan, anda dapat menemui dua perbezaan:

taip penukaran c ++
  • Penggabungan pengurangan peta telah menyelesaikan pekerjaan dalam masa yang lebih sedikit jika dibandingkan dengan masa yang diambil dalam gabung biasa.

  • Penggabungan pengurangan peta telah menyelesaikan tugasnya tanpa bantuan pengurang sedangkan penggabung biasa melaksanakan tugas ini dengan bantuan satu pengurang.

Oleh itu, Sambungan sebelah peta adalah pertaruhan terbaik anda apabila salah satu jadual cukup kecil untuk dimasukkan ke dalam memori untuk menyelesaikan tugas dalam jangka masa yang singkat.

Dalam Persekitaran masa nyata , anda akan mempunyai kumpulan data dengan sejumlah besar data. Oleh itu, melakukan analisis dan mengambil data akan memakan masa jika salah satu set data berukuran lebih kecil. Dalam kes seperti itu Gabung sebelah peta akan membantu menyelesaikan pekerjaan dalam masa yang lebih sedikit.

Tidak pernah ada masa yang lebih baik untuk menguasai Hadoop! Mulakan sekarang dengan kursus Big Data dan Hadoop yang disusun khas oleh Edureka.

Rujukan:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

Catatan berkaitan:

7 Cara Latihan Data Besar Boleh Mengubah Organisasi Anda