Fayl shablonlari nomi
Bitta operatsiyada fayllar to'plamini qayta ishlash juda keng tarqalgan vazifadir. Masalan, MapReduce ishi bir necha kataloglarda saqlangan bir oylik jurnal fayllarini tahlil qilishi mumkin . Har bir fayl va har bir katalogni takrorlash o'rniga, bitta bayonotda bir nechta fayllarni tasvirlash uchun meta-belgilardan foydalanish qulay. Hadoop ikkita FileSystem usullarini taqdim etadi fayl nomi naqshlarini boshqarish uchun
PathFilter
Fayl nomi naqshlarining imkoniyatlari ba'zan siz ishlamoqchi bo'lgan barcha fayllarni tavsiflash uchun etarli emas. Misol uchun, shablonlardan foydalanganda, odatda, ma'lum bir faylni qayta ishlashdan chiqarib tashlash mumkin emas. FileSystem sinfining listStatus () va globStatus () usullari mos keladigan jarayon ustidan dasturiy nazoratni ta'minlaydigan qo'shimcha PathFilter ob'ektini oling:
Ma'lumotlar o'chirilmoqda
Fayllar yoki kataloglarni o'chirish uchun Fayl system sinfining delete() usulidan foydalaning:
public boolean delete(Path f, boolean recursive) throws IOException.
Agar f — fayl yoki bo'sh katalog, rekursiv qiymat e'tiborga olinmaydi. Bo'sh bo'lmagan katalog faqat rekursiv variant bo'lsa, uning mazmuni bilan birga o'chiriladi haqiqatdir _ (aks holda IOException tashlanadi ).
Xulosa
Haddan tashqari yuklangan versiyalar fayllar va kataloglarni tanlash uchun filtrni belgilaydigan PathFilter ob'ektidan o'tishi mumkin. Misol "Path - Filtr" bo'limida keltirilgan, Bilan. 108 . Nihoyat, bir qator yo'llarni o'tkazishda natija ekvivalent "bir yo'l" usuli listStatusni chaqirish uchun soddalashtirilgan belgidir. FileStatus ob'ektlari massivlarining to'planishi bilan har bir yo'l uchun ketma-ket bitta massivda. Misol uchun, bu xususiyat fayl tizimi daraxtining turli qismlaridan fayllar ro'yxatini yaratish uchun foydali bo'lishi mumkin. Ro'yxat 3.6, bu fikrning oddiy namoyishini beradi . FileUtil sinfining stat 2 Paths () usulidan foydalanishga e'tibor bering FileStatus ob'ektlari qatorini aylantirish uchun Path ob'ektlari massiviga .
Do'stlaringiz bilan baham: |