olib
tashlash (ebl okda);
kirish S et (). iterator (); iter. ha sNex t (); ) { Xarita .
// Benchma rkThroughpu t. jav
a 172
pub l ic int
ishga tushirish (...)
uradi
IO Ex cep ti bo'yicha {190 C
onfigura ti on
conf
= ge tC onf (); /
ÿ musodara qilingan ÿ /
.
. . .
// C ombi n eFil eI npu tF o rm da. jav
a 477
privatestaticclass
O ne F ile I nfo {
554
L ist < OneBloc kIn fo > bloklari = bitta. V qiymatini oling ();
yangi
IO Ex cep ti ni yoqing (...)
#Hadoop ÿ8614( v0 . 2 3 . 0 )
229 }
} }
. . .
.
. . .
;
255
xususiy vo id
olish M ore S plits (...)
uradi . . .
{
) IO Ex cep ti ni { 184
wh i le
(len
> 0) {185
uzun
ret =
i
n
ga
tashlaydi .
o'tkazib yuborish (len); /
ÿ buzilmagan ÿ /
agar
( ret < 0) { /
ÿ ret = 0 ÿ /
83 I npu tS tre am in =
new
F ile I nput S tream (...); 84
bayt
[] ma'lumotlar
=
yangi bayt
[ BUFFER_SIZE ]; 85
uzun
o'lcham = 0; 86
wh i le
(o'lcham >= 0) { /
ÿ o'lcham
= 0 ÿ /
87 o'lcham = o'qish (ma'lumotlar);
S tringrack = ebl ok ustida
,
. . .
187
# Mapreduce ÿ2185 (v0 . 2 3 )
IO Ex cep ti on {
,
359
uchun
(I terator <360
186
rack T oBl okslar .
pu t (ra ck
. . .
} len ÿ= ret ; } }
. . .
348
wh i le
( blok
kT oN ode s .
hajmi ( ) > 0 ) {
En try < > one = itern ex t ( );
} } } }
. . .
369
370
371
188
.
> iter =
rack T oBl ocks .
// IOU tils. jav
a 183
pub l ic static vo id
skip F ully ( I npu tS tre am in ,
long
len )
11-rasm: Kirish-chiqarish operatsiyalari tomonidan qaytarilgan xato kodi
to'g'ridan-to'g'ri aylanish bosqichiga ta'sir qiladigan misol. Ma'lumotlarning
buzilishi I/U funksiyasini keltirib chiqaradi, InputStream.skip 0 ni qaytaradi va qadam sifatida 0 ishlatiladi.
12-rasm: Buzilgan ma'lumotlar tarkibi bilvosita aylanish bosqichiga ta'sir
qilishiga misol. Buzilgan konfiguratsiya "BUFFER_SIZE = 0" ni keltirib
chiqaradi, bu esa o'z navbatida InputStreamni nol o'lchamli bayt massivida
o'qish operatsiyasini bajarishga va 0 ni qaytarishga majbur qiladi. "O'lcham <
0" hech qachon qondirilmaganligi sababli, tsiklning chiqish sharti bajarilmaydi.
13-rasm: Buzilgan ma'lumotlar tarkibi bilvosita aylanish bosqichiga ta'sir
qiladigan misol. Ma'lumotlarning buzilishi blockToNodes va rackToBlocks
bloklari sonining o'lchamiga qarab farqlanishiga olib keladi. Bu farq buzilgan
blokni blockToNodes (ya'ni, nol qadam) dan hech qachon olib tashlanmasligiga
olib keladi, bu esa tsiklning chiqish holatini bajarib bo'lmaydi. Buning sababi,
"blockToNodes.size() <= 0" hech qachon qanoatlanmaydi.
Do'stlaringiz bilan baham: |