Programovanie

7 najbežnejších projektov Hadoop a Spark

Existuje stará axióma, ktorá znie asi takto: Ak niekomu ponúknete svoju úplnú podporu a finančnú podporu, aby mohol robiť niečo iné a inovatívne, nakoniec urobí to, čo robia všetci ostatní.

Tak to chodí s Hadoop, Spark a Storm. Každý si myslí, že s týmito novými technológiami veľkých dát robí niečo špeciálne, ale netrvá dlho a znova sa stretnúť s rovnakými vzormi. Konkrétne implementácie sa môžu trochu líšiť, ale na základe mojich skúseností je tu sedem najbežnejších projektov.

Projekt č. 1: Konsolidácia údajov

Môžete to nazvať „podnikové dátové centrum“ alebo „dátové jazero“. Ide o to, že máte rôznorodé zdroje údajov a chcete v nich vykonať analýzu. Tento typ projektu spočíva v získaní informačných kanálov zo všetkých zdrojov (buď v reálnom čase alebo v dávke) a ich vložení do programu Hadoop. Niekedy je to prvý krok k tomu, aby ste sa stali „spoločnosťou založenou na dátach“; niekedy jednoducho chcete pekné správy. Dátové jazerá sa zvyčajne zhmotňujú ako súbory na HDFS a tabuľkách v Hive alebo Impala. Existuje odvážny nový svet, kde sa veľa z toho objaví v HBase - a vo Phoenixe v budúcnosti, pretože Úľ je pomalý.

Predajcovia radi hovoria „schéma pri čítaní“, ale ak chcete byť úspešní, musíte mať dobrú predstavu o tom, aké budú vaše prípady použitia (že schéma Úľa nebude vyzerať strašne odlišne od toho, čo by ste robili v podnikový dátový sklad). Skutočným dôvodom dátového jazera je horizontálna škálovateľnosť a oveľa nižšie náklady ako Teradata alebo Netezza. Pre účely analýzy mnoho ľudí nastavilo na prednom paneli aplikácie Tableau a Excel. Sofistikovanejšie spoločnosti s „skutočnými dátovými vedcami“ (matematici, ktorí píšu zlý Python) používajú ako front-end notebook Zeppelin alebo iPython.

Projekt č. 2: Špecializovaná analýza

Mnoho projektov konsolidácie údajov vlastne začína tu, kde máte špeciálne potreby a natiahnete jednu množinu údajov pre systém, ktorý robí jeden druh analýzy. Tieto tendencie sú neuveriteľne špecifické pre jednotlivé domény, napríklad riziko likvidity / simulácie Monte Carlo v banke. V minulosti také špecializované analýzy záviseli od zastaraných vlastných balíkov, ktoré sa nedokázali zväčšiť tak, ako to dosiahli údaje, a často trpeli obmedzenou sadou funkcií (čiastočne preto, že predajca softvéru nemohol vedieť o doméne toľko informácií ako inštitúcia ponorený do nej).

Vo svetoch Hadoop a Spark vyzerajú tieto systémy zhruba rovnako ako systémy konsolidácie údajov, ale často majú viac HBase, vlastný kód mimo SQL a menej zdrojov údajov (ak nie iba jeden). Stále viac sú založené na spoločnosti Spark.

Projekt č. 3: Hadoop ako služba

V každej veľkej organizácii s projektmi „špecializovanej analýzy“ (a ironicky jedného alebo dvoch projektov „konsolidácie údajov“) nevyhnutne začnú cítiť „radosť“ (tj. Bolesť) zo správy niekoľkých rôzne nakonfigurovaných klastrov Hadoop, niekedy z rôznych predajcovia. Ďalej povedia: „Možno by sme to mali skonsolidovať a zhromaždiť zdroje,“ namiesto aby polovica ich uzlov zostala nečinná polovicu času. Mohli ísť do cloudu, ale mnoho spoločností buď nemôže, alebo nie, často z bezpečnostných dôvodov (čítajte: vnútorná politika a ochrana pracovných miest). To vo všeobecnosti znamená veľa receptov šéfkuchárov a teraz balíčky kontajnerov Docker.

Zatiaľ som to nepoužil, ale zdá sa, že Blue Data má najbližšie k out-of-the-box riešeniu, ktoré osloví aj menšie organizácie, ktorým chýbajú prostriedky na nasadenie Hadoopu ako služby.

Projekt č. 4: Streamingová analýza

Mnoho ľudí by to nazývalo „streamovanie“, ale analytika streamovania sa líši od streamovania zo zariadení. Streamovacia analytika je často verziou toho, čo organizácia robila v dávkach, v reálnom čase. Využite možnosť prania špinavých peňazí alebo odhaľovania podvodov: Prečo to neurobiť na základe transakcie a nezachytiť to skôr, ako sa to stane, a nie na konci cyklu? To isté platí pre správu zásob alebo čokoľvek iné.

V niektorých prípadoch ide o nový typ transakčného systému, ktorý analyzuje údaje kúsok po kúsku, keď ich paralelne posúvate do analytického systému. Takéto systémy sa prejavujú ako Spark alebo Storm s HBase ako obvyklým dátovým úložiskom. Upozorňujeme, že analytika streamovania nenahrádza všetky formy analýzy; stále budete chcieť zobraziť historické trendy alebo sa pozrieť na minulé údaje a nájsť niečo, o čom ste nikdy neuvažovali.

Projekt č. 5: Komplexné spracovanie udalostí

Hovoríme tu o spracovaní udalostí v reálnom čase, kde záleží na sekundách. Aj keď stále nie ste dosť rýchli na aplikácie s veľmi nízkou latenciou (pikosekundové alebo nanosekundové), ako sú špičkové obchodné systémy, môžete očakávať milisekundové časy odozvy. Príklady zahŕňajú hodnotenie záznamov údajov o hovoroch v reálnom čase pre telekomunikačné spoločnosti alebo spracovanie udalostí internetu vecí. Niekedy uvidíte, že takéto systémy používajú Spark a HBase - ale všeobecne im padajú na tvár a musia byť prevedené na Storm, ktorý je založený na dezruptorovom vzore vyvinutom burzou LMAX.

V minulosti boli takéto systémy založené na prispôsobenom softvéri na zasielanie správ - alebo na vysoko výkonných, štandardných produktoch na zasielanie správ typu klient-server - ale dnešné objemy dát sú príliš veľa na to. Od vytvorenia týchto starších systémov vzrástol objem obchodovania a počet ľudí s mobilnými telefónmi a lekárske a priemyselné senzory vyčerpali príliš veľa bitov. Zatiaľ som to nepoužil, ale projekt Apex vyzerá sľubne a tvrdí, že je rýchlejší ako Storm.

Projekt č. 6: Streamovanie ako ETL

Niekedy chcete zachytiť streamované dáta a niekde ich uložiť. Tieto projekty sa zvyčajne zhodujú s č. 1 alebo č. 2, ale pridávajú svoj vlastný rozsah a vlastnosti. (Niektorí ľudia si myslia, že robia č. 4 alebo č. 5, ale v skutočnosti sa ukladajú na disk a údaje neskôr analyzujú.) Takmer vždy ide o projekty Kafka a Storm. Používa sa aj Spark, ale bez oprávnenia, pretože skutočne nepotrebujete analytiku v pamäti.

Projekt č. 7: Výmena alebo rozšírenie SAS

SAS je v poriadku; SAS je fajn. SAS je tiež drahý a nekupujeme boxy pre všetkých vašich dátových vedcov a analytikov, aby ste sa s údajmi mohli „pohrať“. Okrem toho ste chceli urobiť niečo iné, ako dokázala SAS, alebo vytvoriť krajší graf. Tu je vaše pekné dátové jazero. Tu je iPython Notebook (teraz) alebo Zeppelin (neskôr). Výsledky vložíme do SAS a tu uložíme výsledky zo SAS.

Aj keď som videl ďalšie projekty Hadoop, Spark alebo Storm, jedná sa o „bežné“ každodenné typy. Ak používate Hadoop, pravdepodobne ich poznáte. Niektoré prípady použitia týchto systémov, ktoré som implementoval roky predtým, pracoval s inými technológiami.

Ak ste starým časom príliš vystrašení z „veľkého“ vo veľkých dátach alebo z „robiť“ v Hadoope, nemajte obavy. Čím viac vecí sa mení, tým viac zostávajú rovnaké. Nájdete veľa paralel medzi vecami, ktoré ste používali na nasadenie, a hipsterskými technológiami víriacimi okolo Hadooposféry.

$config[zx-auto] not found$config[zx-overlay] not found