QAYSI QISQARTIRISH FORMATIDAN FOYDALANISH KERAK?
Hadoop ilovalari katta ma'lumotlar to'plamlarini qayta ishlash, shuning uchun iloji boricha siqishni ishlatishingiz kerak. Formatni tanlash ko'pgina omillarga bog'liq: fayl hajmi, formati va ishlov berish uchun ishlatiladigan dasturiy vositalar. Quyida samaradorlikning kamayish tartibida tartiblangan ayrim yechimlar keltirilgan.
• SequenceFile kabi konteyner formatlaridan foydalaning ( 186-bet ), RCFile (taxminan 553 ) va Avro ( 161-bet ). Ularning barchasi siqishni va bo'linishni qo'llab-quvvatlaydi. Tez siqish formatlari ( LZO , LZ 4, Snappy ) odatda yaxshi nomzodlardir.
• qo'llab-quvvatlaydigan siqish formatidan (masalan, bzip 2, garchi u nisbatan sekin bo'lsa-da) yoki LZO kabi bo'linishni qo'llab-quvvatlash uchun indekslanishi mumkin bo'lgan formatdan foydalaning .
• Ilovada faylni bo'laklarga bo'ling va har qanday qo'llab-quvvatlanadigan siqish formatlaridan foydalangan holda bo'laklarni alohida-alohida siqib chiqing (bu holda ular bo'linishni qo'llab-quvvatlaydimi yoki yo'qmi muhim emas). Bunday holda, parcha o'lchami siqilgan bo'laklarning o'lchami HDFS blokining o'lchamiga taxminan teng bo'lishi uchun tanlanadi .
Agar ketma – ket fayllar chiqishga yuborilsa (sequence files), xaritalangan xususiyatni o'rnatishingiz mapred.output.compression.type siqilish turini nazorat qilish uchun. Standart qiymat RECORD bo'lib , alohida yozuvlarni siqib chiqaradi. Uni yozuvlar guruhlarini siqib chiqaradigan BLOCK bilan almashtirish tavsiya etiladi, chunki u yanada samarali siqishni ta'minlaydi (qarang: " SequenceFile ", 186-bet ).
SequenceFileOutputFormat sinfining setOutputCompressionType () statik yordamchi usulidan ham foydalanishingiz mumkin .
MapReduce ishlarining chiqish ma'lumotlarini siqish formatini belgilaydigan konfiguratsiya xususiyatlari 1- jadvalda tasvirlangan. 4.5. Agar MapReduce demoningiz bo'lsa Tool interfeysidan foydalanadi ( Qarang: GenericOptionsParser , Tool va ToolRun - ner ", Bilan. 211 ), bu xossalardan istalgan birini buyruq satrida dasturga o‘tkazish mumkin. Bu, odatda, siqish xususiyatlarini qattiq kodlashda kodni o'zgartirishdan ko'ra qulayroqdir .
Do'stlaringiz bilan baham: |