Водич за Апацхе Скооп - Увоз / извоз података између ХДФС и РДБМС



Водич за Апацхе Скооп: Скооп је алат за пренос података између Хадооп-а и релационих база података. Овај блог покрива Соооп увоз и извоз из МиСКЛ-а.

Пре него што започнемо са овим упутством за Апацхе Скооп, вратимо се корак уназад. Можете ли се сетити важности уноса података, као што смо о томе расправљали у нашем ранијем блогу Апацхе Флуме . Сада, као што знамо да је Апацхе Флуме алат за уношење података за неструктуриране изворе, али организације своје оперативне податке чувају у релационим базама података. Дакле, постојала је потреба за алатом који може увозити и извозити податке из релационих база података. Због тога је рођен Апацхе Скооп. Скооп се лако може интегрисати са Хадооп-ом и избацити структуриране податке из релационих база података на ХДФС, допуњујући моћ Хадооп-а. Зато, захтева добро знање о Апацхе Скооп-у и Флуме-у.

У почетку је Скооп развијао и одржавао Цлоудера. Касније, 23. јула 2011. године, инкубирао га је Апацхе. У априлу 2012. пројекат Скооп промовисан је као Апацхе-ов пројекат највишег нивоа.





На овом блогу са упутствима за Апацхе Флуме обрадићемо:



Започећемо овај водич за Апацхе Скооп представљањем Апацхе Скооп-а. Затим ћемо кренути напред, схватићемо предности коришћења Апацхе Скооп-а.

Водич за Апацхе Скооп: Увод у Скооп

Апацхе Скооп - Водич за Апацхе Скооп - ЕдурекаГенерално, апликације комуницирају са релационом базом података помоћу РДБМС-а, па то релационе базе података чини једним од најважнијих извора који генеришу велике податке. Такви подаци се чувају на РДБ серверима у релационој структури. Овде Апацхе Скооп игра важну улогу у , пружајући изводљиву интеракцију између релационог сервера базе података и ХДФС-а.

Дакле, Апацхе Скооп је алатка у који је дизајниран за пренос података између ХДФС (Хадооп стораге) и сервери релационих база података као што су МиСКЛ, Орацле РДБ, СКЛите, Терадата, Нетезза, Постгрес итд. Апацхе Скооп увози податке из релационих база података у ХДФС, а податке из ХДФС извози у релационе базе података. Ефикасно преноси масовне податке између Хадоопа и екстерних складишта података, као што су складишта података предузећа, релационе базе података итд.



Тако је Скооп добио име - “ СК Л до Хад отворен & Хадооп то СКЛ ”.

Поред тога, Скооп се користи за увоз података из спољних складишта података у алате Хадооп екосистема попут Кошница & ХБасе .

Као што знамо шта је Апацхе Скооп. Дакле, напредујмо у нашем водичу за Апацхе Скооп и схватимо зашто организације Скооп интензивно користе.

Водич за Апацхе Скооп: Зашто Скооп?

За програмера Хадооп, стварна игра почиње након учитавања података у ХДФС. Поигравају се овим подацима како би стекли разне увиде скривене у подацима ускладиштеним у ХДФС-у.

Дакле, за ову анализу, подаци који се налазе у релационим системима за управљање базама података морају се пренети на ХДФС. Задатак писања код за увоз и извоз података из релационе базе података у ХДФС је незанимљив и заморан. Овде Апацхе Скооп долази да спаси и уклони њихов бол. Аутоматизира процес увоза и извоза података.

Скооп олакшава живот програмера пружајући ЦЛИ за увоз и извоз података. Они само морају да пруже основне информације као што су аутентификација базе података, извор, одредиште, операције итд. Он се брине за преостали део.

Скооп интерно претвара наредбу у задатке МапРедуце, ​​који се затим извршавају преко ХДФС-а. Користи ИАРН оквир за увоз и извоз података, што пружа отпорност на грешке поврх паралелизма.

Напредујући у овом блогу Скооп Туториал, разумећемо кључне карактеристике Скооп-а, а затим ћемо прећи на Апацхе Скооп архитектуру.

Водич за Апацхе Скооп: Кључне карактеристике Скооп-а

Скооп пружа многе истакнуте функције попут:

  1. Пун товар : Апацхе Скооп може једном командом учитати целу табелу. Такође можете да учитате све табеле из базе података помоћу једне наредбе.
  2. Постепен Лоад : Апацхе Скооп такође нуди могућност инкременталног учитавања где можете учитати делове табеле кад год се она ажурира.
  3. Паралелно увоз извоз : Скооп користи ИАРН оквир за увоз и извоз података, што пружа отпорност на грешке поврх паралелизма.
  4. Увоз резултати од СКЛ упит : Такође можете да увезете резултат враћен из СКЛ упита у ХДФС.
  5. Компресија : Можете сажети податке помоћу алгоритма дефлате (гзип) са –цомпресс аргументом или специфицирањем –цомпрессион-цодец аргумента. Такође можете учитати компримовану табелу Апацхе Хиве .
  6. Конектори за све главни РДБМС Базе података : Апацхе Скооп пружа конекторе за више РДБМС база података, покривајући готово читав обим.
  7. Керберос Сигурност Интеграција : Керберос је протокол за потврду идентитета рачунарске мреже који ради на основу „улазница“ како би омогућио чворовима који комуницирају преко несигурне мреже да би међусобно на сигуран начин доказали свој идентитет. Скооп подржава Керберос аутентификацију.
  8. Лоад подаци директно у ХИВЕ / ХБасе : Можете податке учитати директно у Апацхе Хиве за анализу, а такође податке избаците у ХБасе, која је НоСКЛ база података.
  9. Подршка за Акумулација : Такође можете наредити Скооп-у да увезе табелу у Аццумуло, а не директоријум у ХДФС-у.

Архитектура је која омогућава Апацхе Скооп-у ове предности. Сада, пошто знамо карактеристике Апацхе Скооп-а, идемо напред и схватимо архитектуру и рад Апацхе Скооп-а.

Водич за Апацхе Скооп: Архитектура и рад Скооп-а

Дозволите нам да разумемо како Апацхе Скооп ради користећи доњи дијаграм:

Алат за увоз увози појединачне табеле са РДБМС-а на ХДФС. Сваки ред у табели третира се као запис у ХДФС-у.

Када предајемо команду Скооп, наш главни задатак се дели на подзадатке којима се појединачни задатак мапе обрађује интерно. Задатак мапе је подзадатак који увози део података у еколошки систем Хадооп. Сви задаци Мапе колективно увозе целокупне податке.

Извоз такође делује на сличан начин.

Алат за извоз извози скуп датотека из ХДФС-а назад у РДБМС. Датотеке дате као улаз у Скооп садрже записе који се позивају као редови у табели.

Када предајемо посао, он се пресликава у Задаци мапе који доноси део података из ХДФС-а. Ови делови се извозе на одредиште за структуриране податке. Комбинујући све ове извезене делове података, добијамо целокупне податке на одредишту, што је у већини случајева РДБМС (МИСКЛ / Орацле / СКЛ Сервер).

Фаза смањења је потребна у случају агрегације. Али, Апацхе Скооп само увози и извози податке које не врши агрегацију. Посао мапе покреће више мапира, у зависности од броја који је дефинисао корисник. За увоз Скооп-а, сваком задатку мапирања доделит ће се део података који ће се увести. Скооп дистрибуира улазне податке међу мапирање подједнако да би постигао високе перформансе. Тада свако мапирање креира везу са базом података користећи ЈДБЦ и преузима део података који је доделио Скооп и записује их у ХДФС или Хиве или ХБасе на основу аргумената датих у ЦЛИ.

Сада када разумемо архитектуру и рад Апацхе Скооп-а, схватимо разлику између Апацхе Флуме и Апацхе Скооп.

Водич за Апацхе Скооп: Флуме вс Скооп

Главна разлика између Флумеа и Скоопа је у томе што:

  • Флуме само уноси неструктуриране податке или полуструктуриране податке у ХДФС.
  • Иако Скооп може увозити, као и извоз структурираних података из РДБМС-а или Ентерприсе дата складишта у ХДФС или обрнуто.

Сада, напредујући у нашем упутству за Апацхе Скооп, крајње је време да прођете кроз команде Апацхе Скооп.

Водич за Апацхе Скооп: Команде Скооп-а

  • Скооп - Команда ИМПОРТ

Команда увоза користи се за увоз табеле из релационих база података у ХДФС. У нашем случају ћемо увозити табеле из МиСКЛ база података у ХДФС.

Као што можете видети на доњој слици, у бази података запослених имамо табелу запослених коју ћемо увозити у ХДФС.

Команда за увоз табеле је:

скооп импорт --цоннецт јдбц: мискл: // лоцалхост / стафф --усернаме едурека - табле стафф

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

Након извршавања кода, можете да проверите веб корисничко сучеље ХДФС-а, тј. Лоцалхост: 50070, где се подаци увозе.

  • Скооп - ИМПОРТ команда са циљним директоријумом

Табелу такође можете да увезете у одређени директоријум у ХДФС-у помоћу наредбе у наставку:

скооп импорт --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека - табела запослених --м 1 --таргет-дир / запосленици

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

Скооп паралелно увози податке из већине извора база података. Можете да одредите број задатака мапе (паралелних процеса) који ће се користити за обављање увоза помоћу или –Број мапе расправа. Сваки од ових аргумената узима целобројну вредност која одговара степену паралелизма који треба применити.

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

На доњој слици можете видети да је број задатака мапирања 1.

Број датотека које се креирају током увоза МиСКЛ табела једнак је броју створених маппер-а.

  • Скооп - ИМПОРТ команда са клаузулом Вхере

Можете увести подскуп табеле помоћу клаузуле „где“ у алату за увоз Скооп. Извршава одговарајући СКЛ упит на одговарајућем серверу базе података и чува резултат у циљном директоријуму у ХДФС-у. Можете да користите следећу команду за увоз података помоћу „ где Клаузула:

скооп импорт --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека --табљени запосленици --м 3 - вхере 'емп_но & гт 49000' --таргет-дир / Латест_Ееуеес

  • Скооп - Инкрементални увоз

Скооп пружа инкрементални режим увоза који се може користити за преузимање само редова новијих од неких претходно увезених скупова редова. Скооп подржава две врсте инкременталног увоза: додати и Последња измена . Можете користити –инкрементални аргумент да одредите врсту инкременталног увоза који треба извршити.

Треба да наведете додати режим при увозу табеле у којој се непрекидно додају нови редови са повећањем вредности ИД-а реда. Навели сте колону која садржи ИД реда са –Цхецк-цолумн . Скооп увози редове где колона за проверу има вредност већу од оне која је наведена са –Последња вредност .

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

Приликом извођења накнадног увоза, требало би да наведете –Последња вредност на овај начин да бисте осигурали да увозите само нове или ажуриране податке. Ово се аутоматски обрађује стварањем инкременталног увоза као сачуваног посла, што је преферирани механизам за обављање понављајућег инкременталног увоза.

Прво убацујемо нови ред који ће бити ажуриран у нашем ХДФС-у.

Команда за инкрементални увоз је:

скооп импорт --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека --табле стафф --таргет-дир / Латест_Е Емплоиеес --инцрементал аппенд --цхецк-цолумн емп_но - ласт-валуе 499999

На доњој слици можете видети да се креира нова датотека са ажурираним подацима.

  • Скооп - Увезите све табеле

Можете да увезете све табеле са сервера базе података РДБМС на ХДФС. Подаци сваке табеле чувају се у засебном директоријуму, а име директорија је исто као и име табеле. Обавезно је да свака табела у тој бази података мора имати поље примарног кључа. Команда за увоз све табеле из базе података је:

скооп импорт-алл-таблес --цоннецт јдбц: мискл: // лоцалхост / запосленици --усернаме едурека

  • Скооп - Листа база података

Помоћу Скооп-а можете навести базе података присутне у релационој бази података. Алат Скооп лист-база података рашчлањује и извршава упит „ПОКАЖИ БАЗЕ ПОДАТАКА“ према серверу базе података. Наредба за навођење база података је:

скооп лист-базе података --цоннецт јдбц: мискл: // лоцалхост / --усернаме едурека

  • Скооп - Табеле са списковима

Такође можете да наведете табеле одређене базе података на МиСКЛ серверу базе података користећи Скооп. Алат Скооп лист-табле анализира и извршава упит „ПОКАЖИ ТАБЕЛЕ“. Команда за листање табела је база података:

скооп лист-табеле --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека

  • Скооп - Извоз

Као што смо горе разговарали, такође можете извести податке из ХДФС-а у базу података РДБМС. Циљна табела мора постојати у циљној бази података.Подаци се чувају као записи у ХДФС-у. Ови записи се читају и рашчлањују и раздвајају граничником који је одредио корисник.Подразумевана операција је убацивање свих записа из улазних датотека у табелу базе података помоћу израза ИНСЕРТ. У режиму ажурирања, Скооп генерише УПДАТЕ израз који замењује постојећи запис у бази података.

улоге и одговорности линук администратора система

Дакле, прво креирамо празну табелу, у коју ћемо извести своје податке.

Наредба за извоз података из ХДФС-а у релацијску базу података је:

скооп екпорт --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека --табле емп --екпорт-дир / усер / едурека / запослени

  • Скооп - Цодеген

У објектно оријентисаној апликацији свака табела базе података има једну класу предмета приступа подацима која садржи методе „геттер“ и „сеттер“ за иницијализацију објеката. Цодеген аутоматски генерише ДАО класу. Он генерише ДАО класу у Јави, на основу структуре шеме табела.

Наредба за генерисање Јава кода је:

скооп цодеген --цоннецт јдбц: мискл: // лоцалхост / запосленици --корисничко име едурека - запосленици стола

Можете видети путању на горњој слици где се генерише код. Кренимо путем и проверимо створене датотеке.

Надам се да је овај блог информативан и да вам додаје додатну вредност. Ако сте заинтересовани да сазнате више, можете проћи кроз ово која вам говори о великим подацима и како Хадооп решава изазове повезане са великим подацима.

Сад кад сте разумели Апацхе Скооп, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Едурека курс обуке за сертификацију за велике податке помаже ученицима да постану стручњаци за ХДФС, предиво, МапРедуце, ​​свињу, кошницу, ХБасе, Оозие, Флуме и Скооп користећи случајеве коришћења у реалном времену на малопродаји, друштвеним медијима, ваздухопловству, туризму, финансијском домену.

Имате питање за нас? Молимо вас да то споменете у одељку за коментаре и јавићемо вам се.