Iga operatsioon suurte andmetega nĂ”uab suurt arvutusvĂ”imet. Tavaline andmete liigutamine Hadoopi andmebaasist vĂ”ib kesta nĂ€dalaid vĂ”i maksta tĂ”eliselt palju. Ei soovi oodata ega raisata? Tasakaalustage koormust erinevate platvormide vahel. Ăks vĂ”imalus on pushdown-optimeerimine.
Palusin Venemaa juhtival Informatica toodete arendamise ja haldamise treeneril Aleksei Ananjevil rÀÀkida pushdown-optimeerimise funktsioonist Informatica Big Data Managementis (BDM). Kui kunagi Ôppisite töötama Informatica toodetega, siis tÔenÀoliselt rÀÀkis just Aleksei teile PowerCenteri pÔhialustest ja selgitas, kuidas luua kaarte.
Aleksei Ananjev, DIS Group koolituse juht
Mis on pushdown?
Paljud teist tunnevad juba Informatica Big Data Managementi (BDM). Toode suudab integreerida suurandmeid erinevatest allikatest, liigutada neid erinevate sĂŒsteemide vahel, tagada nendele lihtne ligipÀÀs, vĂ”imaldab neid profiilida ja palju muud.
OsavĂ”tlikus kĂ€sitöös suudab BDM teha imesid: ĂŒlesanded tĂ€idetakse kiiresti ja minimaalsete arvutusressurssidega.
Kas soovite ka seda? Ăppige kasutama BDM pushdown funktsiooni arvutuskoormuse jaotamiseks erinevate platvormide vahel. Pushdown tehnoloogia vĂ”imaldab muuta kaardistamise skriptiks ja valida keskkonna, milles see skript kĂ€ivitub. Sellise valiku vĂ”imalus vĂ”imaldab kombineerida erinevate platvormide tugevusi ja saavutada nende maksimaalset tootlikkust.
Skripti tĂ€itmise keskkonna seadistamiseks tuleb valida pushdown tĂŒĂŒp. Skript vĂ”ib olla tĂ€ielikult kĂ€ivitatud Hadoopis vĂ”i osaliselt jaotatud allika ja sihtkoha vahel. On 4 vĂ”imalikku pushdown tĂŒĂŒpi. Kaardistamist ei pea muutma skriptiks (native). Kaardistamist saab maksimaalselt kĂ€ivitada allikas (source) vĂ”i tĂ€ielikult allikas (full). Samuti saab kaardistamise muuta Hadoopi skriptiks (none).
Pushdown-optimeerimine
KĂ”iki nimetatud 4 tĂŒĂŒpi saab omavahel erinevalt kombineerida â optimeerides pushdown'i konkreetsed sĂŒsteemi vajadused. NĂ€iteks on sageli mĂ”istlikum andmeid andmebaasist vĂ€lja vĂ”tta, kasutades selle enda vĂ”imalusi. Andmete töötlemine vĂ”iks toimuda Hadoopi abil, et mitte koormata andmebaasi ĂŒle.
Vaatleme olukorda, kus nii allikas kui ka sihtkoht asuvad andmebaasis, ning transformatsioonide tĂ€itmise platvormi saab valida: sĂ”ltuvalt seadistustest vĂ”ib see olla Informatica, andmebaasi server vĂ”i Hadoop. Selline nĂ€ide aitab kĂ”ige paremini mĂ”ista selle mehhanismi tehnilist kĂŒlge. Loomulikult ei esine selline olukord reaalses elus, kuid funktsionaalsuse demonstreerimiseks sobib see kĂ”ige paremini.
VĂ”tame kaardi kahe tabeli lugemiseks, mis asuvad ĂŒhes Oracle'i andmebaasis. Ja lugemise tulemused salvestatakse sellesse samasse tabelisse. Kaardistuse schema on jĂ€rgmine:

Informatica BDM 10.2.1 mappina nÀeb see vÀlja jÀrgmine:

Pushdown'i tĂŒĂŒp â native
Kui valime pushdown'i tĂŒĂŒbiks native, siis kaardistus teostatakse serveril Informatica. Andmed loetakse Oracle serverist, edastatakse Informatica serverisse, muudetakse seal ja ĂŒle kantakse Hadoopisse. TeisisĂ”nu, saame tavalise ETL-protsessi.
Pushdown tĂŒĂŒp â source
Source tĂŒĂŒbi valimisel saame vĂ”imaluse jagada meie protsessi serveriga andmebaaside (ABD) ja Hadoopi vahel. Selle seadistusega protsessi kĂ€ivitamisel saadetakse andmete valimise pĂ€ringud andmebaasi tabelitest. KĂ”ik muu toimub Hadoopis sammudena.
TÀitmise skeem nÀeb vÀlja jÀrgmine:

Allpool on nÀide tÀitmisvahekorra seadistamisest.

Sellisel juhul viidatakse kaardistamine kahele sammele. Selle seadetes nĂ€eme, et see on muutunud skriptiks, mis saadetakse allikale. Lauad ja andmete muutmine toimuvad allikas ĂŒmbersuunatud pĂ€ringuna.
Alloleval pildil nĂ€eme optimeeritud kaardistamist BDM-il, ja allikal â ĂŒmbersuunatud pĂ€ringut.

Hadoopi roll selles konfiguratsioonis on andmevoo haldamine â nende dirigeerimine. PĂ€ringu tulemus saadetakse Hadoopi. PĂ€rast lugemise lĂ”ppu salvestatakse fail Hadoopist vastuvĂ”tjasse.
Pushdown tĂŒĂŒp â full
Full tĂŒĂŒbi valimisel muudetakse mappimine tĂ€ielikult andmebaasi pĂ€ringuks. PĂ€ringu tulemus saadetakse Hadoopile. Selle protsessi skeem on esitatud allpool.

Seadistuse nÀide on esitatud allpool.

Tulemusena saame optimeeritud mappimise, mis on sarnane eelmisele. Erinevus seisneb ainult selles, et kogu loogika kantakse vastuvĂ”tjale ĂŒle tema sisestuse ĂŒlekirjutamise kujul. Optimeeritud mappimise nĂ€ide on esitatud allpool.

Siin, nagu eelmiseski juhul, tÀidab Hadoop dirigendi rolli. Kuid siin loetakse allikas tervikuna, pÀrast mida teostatakse andmete töötlemise loogika vastuvÔtja tasandil.
Pushdown tĂŒĂŒp â null
Ja viimane variant â pushdown tĂŒĂŒp, mille raames meie mappimine muutub Hadoopi skriptiks.
Optimeeritud mappimine nĂ€eb nĂŒĂŒd vĂ€lja nii:

Siin loetakse andmed esmalt allikafailidest Hadoopis. SeejÀrel kombineeritakse need kaks faili samade vahenditega. PÀrast seda muudetakse andmed ja laaditakse andmebaasi vÀlja.
MĂ”istes pushdown-optimeerimise pĂ”himĂ”tteid, saab suuri andmeid töötlemise protsesse vĂ€ga efektiivselt korraldada. Nii, nĂ€iteks hiljuti suutis ĂŒks suur ettevĂ”te mĂ”ne nĂ€dalaga laadida Hadoopi oma aastal kogutud suure koguse andmeid, mida oli kogutud aastaid.
Allikas: habr.com
