HBase
 sql >> Teknologi Basis Data >  >> NoSQL >> HBase

Pengantar Lokalitas Data di Hadoop MapReduce

Dalam tutorial Hadoop ini, kami akan menjelaskan konsep lokalitas Data di Hadoop.

Pertama-tama kita akan melihat pengenalan lokalitas Data MapReduce di Hadoop, kemudian kita akan membahas kebutuhan Lokalitas Data Hadoop selanjutnya dengan kategori Lokalitas Data di MapReduce, Pengoptimalan lokalitas data.

Terakhir, kita akan melihat keunggulan prinsip Hadoop Data Locality dalam tutorial MapReduce ini.

Apa itu Lokalitas Data di Hadoop MapReduce?

Lokalitas data di Hadoop adalah proses memindahkan komputasi dekat dengan tempat data sebenarnya berada alih-alih memindahkan data besar ke komputasi. Ini meminimalkan kemacetan jaringan secara keseluruhan. Ini juga meningkatkan throughput sistem secara keseluruhan.

Kelemahan utama Hadoop adalah lalu lintas jaringan lintas-switch karena jumlah data yang sangat besar. Untuk mengatasi kelemahan ini, Lokalitas Data muncul.

Di Hadoop, HDFS menyimpan kumpulan data. Framework membagi kumpulan data menjadi blok dan menyimpan di seluruh datanodes. Saat klien menjalankan tugas MapReduce, NameNode mengirimkan kode MapReduce ke datanode yang datanya tersedia sesuai dengan tugas MapReduce.

Persyaratan untuk Lokalitas Data Hadoop

Arsitektur Hadoop harus memenuhi kondisi di bawah ini untuk mendapatkan manfaat dari semua keunggulan lokalitas data:

  • Pertama, cluster Hadoop harus memiliki topologi yang sesuai. Kode Hadoop harus memiliki kemampuan untuk membaca lokalitas data.
  • Kedua, Apache Hadoop harus mengetahui topologi node tempat tugas dijalankan. Hadoop juga harus tahu di mana data itu berada.

Kategori lokalitas Data di Hadoop

Berbagai kategori di Hadoop Data Locality adalah sebagai berikut:

1. Data lokalitas data lokal di Hadoop

Dalam hal ini, data terletak pada simpul yang sama dengan mapper bekerja pada data. Dalam hal ini, kedekatan data sangat dekat dengan komputasi. Lokalitas data lokal data adalah skenario yang paling disukai.

2. Lokalitas data Intra-Rack di Hadoop

Seperti yang kita ketahui bahwa tidak selalu mungkin untuk mengeksekusi mapper pada datanode yang sama karena keterbatasan sumber daya. Dalam hal ini, lebih disukai untuk menjalankan pemeta pada node yang berbeda tetapi pada rak yang sama.

3. Lokalitas data Antar–Rack di Hadoop

Terkadang juga tidak mungkin untuk mengeksekusi mapper pada node yang berbeda di rak yang sama. Dalam situasi seperti itu, kami akan mengeksekusi mapper pada node di rak yang berbeda. Lokalitas data antar-rak adalah skenario yang paling tidak disukai.

Optimalisasi lokalitas Data Hadoop

Karena Lokalitas data adalah keuntungan utama Hadoop Kurangi Peta. Namun hal ini tidak selalu bermanfaat dalam praktik karena berbagai alasan seperti Kluster heterogen, eksekusi spekulatif, Distribusi dan penempatan data, dan Tata Letak Data.

Dalam kelompok besar tantangan menjadi lebih umum. Seperti dalam cluster besar, semakin banyak jumlah node data dan data, semakin sedikit lokalitasnya.

Dalam cluster yang lebih besar, beberapa node lebih baru dan lebih cepat dari yang lain, membuat data untuk menghitung rasio tidak seimbang. Dengan demikian, cluster besar cenderung tidak sepenuhnya homogen.

Dalam eksekusi spekulatif Hadoop karena datanya mungkin tidak lokal, tetapi menggunakan daya komputasi. Penyebab utamanya juga terletak pada tata letak/penempatan data. Pemrosesan data non-lokal juga membebani jaringan, yang menimbulkan masalah pada skalabilitas. Oleh karena itu jaringan menjadi penghambat.

Kami juga dapat meningkatkan lokalitas data dengan terlebih dahulu mendeteksi pekerjaan mana yang mengalami penurunan dari waktu ke waktu atau masalah lokalitas data. Pemecahan masalah lebih kompleks dan melibatkan perubahan penempatan data dan tata letak data menggunakan penjadwal yang berbeda.

Setelah itu, kami harus memverifikasi apakah eksekusi baru dari beban kerja yang sama memiliki rasio lokalitas data yang lebih baik.

Keuntungan dari lokalitas data di Hadoop

  • Throughput Tinggi –  Lokalitas data di Hadoop meningkatkan throughput sistem secara keseluruhan.
  • Eksekusi Lebih Cepat –  Di lokalitas data, kerangka kerja memindahkan kode ke node tempat data berada alih-alih memindahkan data besar ke node. Dengan demikian, ini membuat Hadoop lebih cepat. Karena ukuran program selalu lebih kecil dari ukuran data, maka pemindahan data merupakan hambatan transfer jaringan.

Kesimpulan

Kesimpulannya, Lokalitas data di Hadoop meningkatkan keseluruhan eksekusi sistem dan membuat Hadoop lebih cepat. Oleh karena itu, ini mengurangi kemacetan jaringan.

Jika Anda merasa blog ini bermanfaat, atau Anda memiliki pertanyaan, tinggalkan komentar di bagian komentar di bawah. Kami akan dengan senang hati menyelesaikannya.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pengantar Snapshot Apache HBase

  2. Hadoop Partitioner – Pelajari Dasar-dasar MapReduce Partitioner

  3. HBase dan Hive – Lebih Baik Bersama

  4. HBase:5 tips untuk menjalankan EC2 dengan memori rendah

  5. Konektor Spark HBase – Setahun dalam Tinjauan