Разлике између ПИГ-а и МапРедуце-а

Свиња је скриптни језик који се користи за истраживање великих скупова података. Пиг Латин је Хадооп проширење које поједностављује Хадооп програмирање тако што даје језик за обраду података на високом нивоу. Како Свиња пише, ми можемо постићи функционалност пишући врло мало редака кода. МапРедуце је решење за скалирање обраде података. МапРедуце није програм, он је оквир за писање дистрибуираних програма за обраду података. Програми написани помоћу оквира МапРедуце успешно су променили на хиљаде машина.

Увод у СИГ

Свиња је проток података и језик високог нивоа. Свиња ради са било којом од верзија у Хадоопу.

Компоненте свиње

  • Свињски латински - језик који се користи за изражавање протока података
  • Пиг Енгине - мотор на врху Хадоопа

Предности ПИГ-а

  • Отклања потребу за прилагођавање Хадооп-а
  • Изолира кориснике од промена у Хадооп интерфејсима.
  • Повећање продуктивности.
  1. У једном тесту 10 свињских латиничних ≈ 200 линија Јаве
  2. За писање на Јави потребно је 4 сата, а свињски језик траје око 15 минута
  3. Отворен систем за програмере који нису Јава

Ако смо свесни ХИВЕ-а и ПИГ-а, нема потребе за бригом о томе да ли је Хадооп верзија надограђена на вишу верзију.

На пример: ако је Хадооп верзија 2.6, сада је надограђена на 2.7. ПИГ подржава у било којој верзији без потребе да се брине да ли код функционише или не у вишим верзијама.

Карактеристике ПИГ-а

Свињски латински је језик протока података

  • Пружа подршку за типове података - лонг, флоат, цхар арраи, шеме и функције
  • Проширив је и подржава кориснички дефиниране функције
  • Метаподаци нису потребни, али се користе када су доступни
  • Ради на датотекама у ХДФС
  • Пружа уобичајене операције као што су ПРИДРЖАВАЊЕ, ГРУПА, ФИЛТЕР, СОРТ

ПИГ сценариј употребе

  • Обрада веб дневника
  • Обрада података за платформе за веб претраживање
  • Ад хоц упити у великим скуповима података
  • Брзо прототипирање алгоритама за обраду великих скупова података

Ко користи Свињу

  • Иахоо, један од најтежих корисника Хадоопа, води 40% свих својих послова Хадоопа у свињи.
  • Твиттер је такође још један познати корисник Свиње

Увод у МапРедуце

  • У прошлости је обрада све већих скупова података била проблем. Сви ваши подаци и прорачуни морали су да стану на једну машину. Да бисте радили на више података, морали сте да купите већу, скупљу машину.
  • Па, шта је решење за обраду велике количине података када то више није технички или финансијски изводљиво радити на једној машини?
  • МапРедуце је решење за скалирање обраде података.

МапРедуце има 3 фазе / фазе

Кораци у наставку се изводе по редоследу.

  • Фаза мапирања

Улаз из ХДФС система датотека.

  • Промените и разврстајте

Унос у редовно померање и сортирање је излаз пресликача

  • Редуктор

Улаз у редуктор излази на промену и сортирање.

МапРедуце ће разумети податке само у комбинацији комбинације кључ и вредност.

  • Главна сврха фазе мапе је читање свих улазних података и њихово трансформисање или филтрирање. Трансформисани или филтрирани подаци се даље анализирају пословном логиком у фази смањења, мада фаза редукције није строго потребна.
  • Главна сврха редукционе фазе је употреба пословне логике за одговор на питање и решавање проблема.

Упоређивање између ПИГ-а и МапРедуце (Инфограпхицс)

Испод је топ 4 поређења између ПИГ-а и МапРедуце-а

Кључне разлике између ПИГ-а и МапРедуце-а

Испод су најважније разлике између ПИГ-а и МапРедуце-а

ПИГ или МапРедуце брже

Било који ПИГ послови преписани су у МапРедуце.со, Смањивање карте је само брже.

Ствари које не могу бити у ПИГ-у

Кад је нешто свиња тешко изразити, завршит ћете с представом, тј. Изградити нешто од неколико примитива

Неки примери:

  • Сложена група или удруживања
  • Комбиновање пуно скупова података
  • Сложена употреба дистрибуиране предмеморије (реплицирано придруживање)
  • Сложени унакрсни производи
  • Радите луде ствари у угнијежђеном ФОРЕАЦХ-у

У овим случајевима, Пиг ће успорити гомилу послова МапРедуце, ​​што је могло учинити и са мање.

Употреба сценарија МапРедуце

  • Када постоје ситне ствари за постизање употребе МапРедуце.

Развој је много бржи у ПИГ-у?

  • Мањи број кода, тј. Мањи код, штеди време програмеру.
  • Мањи број грешака на нивоу Јава може изаћи, али те је грешке теже открити.

Поред горе наведених разлика, ПИГ подржава

  • То омогућава програмерима да чувају податке било где у цјевоводу.
  • Изјављује планове извршења.
  • Омогућава оператерима да обављају функције ЕТЛ (Ектрацт, Трансформ анд Лоад).

Упоређивање између ПИГ-а и МапРедуце

Испод су спискови тачака, опишите поређења између ПИГ-а и МапРедуце-а

Основе за поређење

ПИГ

Карта смањити

Операције
  • Језик протока података.
  • Језик високог нивоа.
  • Извођење придруживања свиња је једноставно
  • Језик за обраду података.
  • Језик ниског нивоа
  • Прилично је тешко извести операције спајања.
Линије кода и вербоситиПриступ с више упита, чиме се смањује дужина кодова.да би се обавио исти задатак потребно је готово 10 пута више броја линија.
КомпилацијаНема потребе за компилацијом. По извршењу, сваки Апацхе Пиг оператор интерно се претвара у посао МапРедуце.Послови МапРедуце имају дуг процес компилације.
Преносивост кодаРади са било којом од верзија у ХадоопуНема гаранције која подржава сваку верзију у Хадоопу

Закључак - ПИГ против МапРедуце

Пример: морамо рачунати поновну појаву речи присутних у реченици.

Који је бољи начин да се уради програм?

ПИГ или МапРедуце

Писање програма у свињи

инпут_линес = ЛОАД '/тмп/ворд.ткт' АС (линија: цхарарраи);

вордс = ФОРЕАЦХ инпут_линес ГЕНЕРАТЕ ФЛАТТЕН (ТОКЕНИЗУЈ (ред)) АС ворд;

филтеред_вордс = ФИЛТЕР речи ПО МАТЦХЕС речи '\\ в +';

ворд_гроупс = ГРУПИ филтриране_ речи ПО речи;

ворд_цоунт = ФОРЕАЦХ ворд_гроупс ГЕНЕРАТЕ ЦОУНТ (филтрирано_вордс) АС цоунт, група АС ријеч;

ордер_ворд_цоунт = ОРДЕР ворд_цоунт БИ цоунт ДЕСЦ;

СТОРЕ је наредио_ворд_цоунт ИНТО '/тмп/ресултс.ткт';

Писање програма у МапРедуце.

импорт орг.апацхе.хадооп.фс.Патх;

импорт орг.апацхе.хадооп.ио.ИнтВритабле;

импорт орг.апацхе.хадооп.ио.Тект;

импорт орг.апацхе.хадооп.мапредуце.либ.инпут.ФилеИнпутФормат;

импорт орг.апацхе.хадооп.мапредуце.либ.оутпут.ФилеОутпутФормат;

импорт орг.апацхе.хадооп.мапредуце.Јоб;

ВордЦоунт у јавној класи (

јавни статички воид маин (Стринг () аргс) баца Изузетак (

ако (аргс.ленгтх! = 2) (

Систем.оут.принтф (

„Употреба: ВордЦоунт \ н“);

Систем.екит (-1);

)

@СуппрессВарнингс ("застаревање")

Посао посла = нови посао ();

посао.сетЈарБиЦласс (ВордЦоунт.цласс);

јоб.сетЈобНаме („Број речи“);

ФилеИнпутФормат.сетИнпутПатхс (посао, нови Патх (аргс (0)));

ФилеОутпутФормат.сетОутпутПатх (посао, нови Патх (аргс (1)));

јоб.сетМапперЦласс (ВордМаппер.цласс);

јоб.сетРедуцерЦласс (СумРедуцер.цласс);

јоб.сетОутпутКеиЦласс (Тект.цласс);

јоб.сетОутпутВалуеЦласс (ИнтВритабле.цласс);

боолеан успех = посао.ваитФорЦомплетион (труе);

Систем.екит (успех? 0: 1);

)

)

Ако функцију може постићи ПИГ, у чему се користи писање функционалности у МапРедуце (дуготрајни кодови).

Увек користите прави алат за посао, брже и боље добијајте посао.

Препоручени чланак

Ово је био користан водич за ПИГ вс МапРедуце, ​​овде смо расправљали о њиховом значењу, упоређивању између главе, кључним разликама и закључцима. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Свиња - Спарк - 10 корисних разлика за учење
  2. Апацхе Пиг вс Апацхе Хиве - Топ 12 корисних разлика
  3. Најбољих 15 ствари које морате знати о МапРедуце вс Спарк
  4. Како ради МапРедуце?
  5. Дистрибуирана предмеморија у Хадоопу

Категорија: