10 Ekim 2014 Cuma

Hadoop - Jop Map Sayısı

Hadoop üzerinde bir job başlatıldığında kaç adet map task oluşturulacağı o job da kullanılacak data nın büyüklüğü ile orantılıdır. Hadoop veriyi HDFS'e atarken splitler şeklinde parçalayarak atmaktadır. Bir job başlatıldığında kullanacağı veri kaç splitten oluşuyor ise o kadar map taski oluşturulmakta. Bu işlem Hadoop altyapısının yönetiminde gerçekleşiyor. Programsal olarak map sayısınına müdahale edilememekte.

Hadoop veriyi split olarak parçalarken 64 MB lık bölümler oluşturmakta. Ancak veri küçük dosyalardan oluşuyor ise 64 MB dan küçük splitler oluşacaktır. Bu durumda bir job çalıştırıldığında daha fazla map task açılmış olacaktır. Bu işlem de zamandan kayıba neden olacaktır.

Bunu bir örnek ile açıklayacak olur isek:

1. Durum

2 adet 128 MB dosyamız olsun , bu dosyaları HDFS e attığımızda 4 adet split oluşacaktır.
Tüm veriyi kullanan bir job çalıştırdığımızda 4 adet map task oluşacaktır.

2. Durum

16 adet 16 MB dosyamız olsun, bu dosyaları HDFS e attığımızda her bir dosya 64 MB dan küçük olduğundan hepsi için bir split yapılarak  16 adet split oluşacaktır.
Tüm veriyi kullanan bir job çalıştırdığımızda 16 adet map task oluşacaktır.

NOT: Bir job da çalışacak reduce sayısı değiştirilebilmektedir.

Hiç yorum yok:

Yorum Gönder