7 najčešćih projekata Hadoop i Spark

Postoji stari aksiom koji glasi otprilike ovako: ako nekome ponudite punu podršku i financijsku potporu da učini nešto drugačije i inovativno, na kraju će učiniti ono što rade svi ostali.

Tako ide i s Hadoopom, Sparkom i Stormom. Svi misle da rade nešto posebno s tim novim tehnologijama velikih podataka, ali ne treba dugo vremena da se uvijek iznova susreću s istim uzorcima. Specifične implementacije mogu se donekle razlikovati, ali na temelju mog iskustva, evo sedam najčešćih projekata.

Projekt br. 1: Konsolidacija podataka

Nazovite ga "poslovnim čvorištem podataka" ili "podatkovnim jezerom". Ideja je da imate različite podatke i želite izvršiti analizu na njima. Ova vrsta projekta sastoji se od dobivanja feedova iz svih izvora (bilo u stvarnom vremenu ili kao batch) i ubacivanja u Hadoop. Ponekad je ovo prvi korak da postanete "tvrtka vođena podacima"; ponekad jednostavno želite lijepa izvješća. Podatkovna jezera obično se materijaliziraju kao datoteke na HDFS-u i tablice u Hiveu ili Impali. Postoji hrabar, novi svijet u kojem se velik dio ovoga prikazuje u HBase - i Phoenixu, u budućnosti, jer je košnica spora.

Prodavači vole reći stvari poput "shema za čitanje", ali u stvarnosti, da biste bili uspješni, morate imati dobru predodžbu o tome kakvi će biti vaši slučajevi upotrebe (ta shema Hive neće izgledati strašno drugačije od onoga što biste radili u skladište podataka poduzeća). Pravi razlog za podatkovno jezero je vodoravna skalabilnost i puno niža cijena od Teradata ili Netezze. Za "analizu" su mnogi ljudi postavili Tableau i Excel na prednji kraj. Sofisticiranije tvrtke s "pravim znanstvenicima podataka" (matematičari koji pišu loš Python) koriste Zeppelin ili iPython bilježnicu kao prednji kraj.

Projekt br. 2: Specijalizirana analiza

Mnogi projekti konsolidacije podataka zapravo započinju ovdje, gdje imate posebnu potrebu i uvučete jedan skup podataka za sustav koji vrši jednu vrstu analize. To obično ima nevjerojatnu specifičnost za domenu, poput rizika likvidnosti / Monte Carlo simulacije u banci. U prošlosti su takve specijalizirane analize ovisile o zastarjelim vlasničkim paketima koji se nisu mogli povećati kao što su to činili podaci i često su patili od ograničenog skupa značajki (dijelom i zato što dobavljač softvera nije mogao znati toliko o domeni koliko institucija uronjen u nju).

U svijetu Hadoop i Spark ti sustavi izgledaju otprilike isto kao sustavi za konsolidaciju podataka, ali često imaju više HBase, prilagođeni ne-SQL kod i manje izvora podataka (ako ne i samo jedan). Sve češće se temelje na Spark-u.

Projekt br. 3: Hadoop kao usluga

U bilo kojoj velikoj organizaciji s projektima "specijalizirane analize" (i ironično jednim ili dvama projektima "konsolidacije podataka") neizbježno će početi osjećati "radost" (odnosno bol) upravljanja nekoliko različito konfiguriranih Hadoop klastera, ponekad različitih dobavljači. Dalje će reći, "Možda bismo ovo trebali konsolidirati i objediniti resurse," umjesto da im polovica čvorova pola vremena sjedi bez rada. Mogli bi ići u oblak, ali mnoge tvrtke ili ne mogu ili ne žele, često iz sigurnosnih (čitaj: unutarnje politike i zaštite radnih mjesta) razloga. To općenito znači puno recepata za kuhare i sada pakete kontejnera Docker.

Još ga nisam koristio, ali čini se da Blue Data ovdje ima najbližu izvanmrežnom rješenju, koje će se također svidjeti manjim organizacijama kojima nedostaje mogućnosti da Hadoop postave kao uslugu.

Projekt br. 4: Streaming analitika

Mnogi bi to nazvali "streaming", ali streaming analiza se prilično razlikuje od streaminga s uređaja. Streaming analitika često je verzija onoga što je organizacija radila u serijama u stvarnom vremenu. Uzmimo pranje novca ili otkrivanje prijevara: Zašto to ne učiniti na osnovi transakcije i uhvatiti to kako se dogodi, a ne na kraju ciklusa? Isto vrijedi i za upravljanje zalihama ili bilo što drugo.

U nekim slučajevima ovo je nova vrsta transakcijskog sustava koji analizira podatke bit po bit dok ih paralelno usmjeravate u analitički sustav. Takvi se sustavi manifestiraju kao Iskra ili Oluja s HBaseom kao uobičajenom pohranom podataka. Imajte na umu da streaming analiza ne zamjenjuje sve oblike analitike; i dalje ćete htjeti isplivati ​​na vidjelo povijesne trendove ili pogledati prošle podatke za nešto što nikada niste uzeli u obzir.

Projekt br. 5: Složena obrada događaja

Ovdje govorimo o obradi događaja u stvarnom vremenu, gdje su važne sekunde. Iako još uvijek nije dovoljno brz za primjene ultra niske latencije (pikosekunde ili nanosekunde), kao što su vrhunski sustavi trgovanja, možete očekivati ​​milisekunde vremena odziva. Primjeri uključuju ocjenjivanje podataka poziva u stvarnom vremenu za telekomunikacije ili obradu događaja s Interneta stvari. Ponekad ćete vidjeti da takvi sustavi koriste Spark i HBase - ali uglavnom padaju na lice i moraju se pretvoriti u Storm, koji se temelji na obrascu Disruptor koji je razvila LMAX razmjena.

U prošlosti su se takvi sustavi temeljili na prilagođenom softveru za razmjenu poruka - ili na proizvodima za razmjenu poruka klijent-poslužitelj visokih performansi, gotovih proizvoda, ali današnje količine podataka previše su za obje. Količine trgovine i broj ljudi s mobitelima porasli su otkad su stvoreni ti naslijeđeni sustavi, a medicinski i industrijski senzori ispumpavaju previše bitova. Još ga nisam koristio, ali projekt Apex izgleda obećavajuće i tvrdi da je brži od Storma.

Projekt br. 6: Streaming kao ETL

Ponekad želite uhvatiti streaming podatke i negdje ih pohraniti. Ti se projekti obično podudaraju s brojevima 1 ili 2, ali dodaju vlastiti opseg i karakteristike. (Neki ljudi misle da rade br. 4 ili br. 5, ali zapravo bacaju na disk i kasnije analiziraju podatke.) To su gotovo uvijek projekti Kafke i Oluje. Također se koristi Spark, ali bez opravdanja, jer zapravo ne trebate analitiku u memoriji.

Projekt br. 7: Zamjena ili povećanje SAS-a

SAS je u redu; SAS je fin. SAS je također skup i ne kupujemo okvire za sve vas znanstvenike i analitičare podataka kako biste se mogli "igrati" s podacima. Osim toga, željeli ste učiniti nešto drugačije od SAS-a ili generirati ljepši grafikon. Evo vašeg lijepog jezera s podacima. Ovdje je iPython Notebook (sada) ili Zeppelin (kasnije). Rezultate ćemo pohraniti u SAS i ovdje pohraniti rezultate iz SAS-a.

Iako sam vidio druge Hadoop, Spark ili Storm projekte, to su "normalni" svakodnevni tipovi. Ako upotrebljavate Hadoop, vjerojatno ih prepoznajete. Neke slučajeve upotrebe ovih sustava implementirao sam godinama prije, radeći s drugim tehnologijama.

Ako se oldtajmer previše bojite "velikog" u velikim podacima ili "do" u Hadoopu, nemojte se. Što se više stvari mijenja, to više ostaju iste. Pronaći ćete puno paralela između stvari koje ste koristili za postavljanje i hipsterskih tehnologija koje se kovitlaju oko Hadooposfere.