Hadoop – Isopieni elefantti tiedonhallintaan

Jari Putula Avarea, BI, Hadoop

Hadoop on suurille, hajautettuille tietomäärille suunniteltu ohjelmisto(kokonaisuus). Se on osa modernin tiedonhallinnan ekosysteemiä.  Aihepiirin asiantuntija Jari Putula avaa informaation runsauden sarven. Ole hyvä! 

Kaikki (vähintäänkin alallamme olevat) osaavat varmasti yhdistää sympaattisen pienen elefanttihahmon ja termin ’Hadoop’. Mutta mitä tuon pehmolemmikistä (nimi on saanut alkunsa erään kehittäjän lapsen leikkielefantilta) nimensä saaneen, jo hypetyksen huippukäyränkin ohittaneen, ilmiön ja teknologian taustalla oikein on? Useat assosioivat Hadoopin muihin jo ylilatauksella pitkälläoleviin ismeihin kuten Big Dataan, Data Lakeen, mielettömiin muodoltaan vapaisiin datamääriin, sekä kenties perinteisiä tietovarastoja täydentämään tulleeseen teknologiaan. Mutta jos joku kertoo Hadoopista tarkentamatta ajatuksiaan, mistä hän silloin todennäköisesti puhuu? Tässä blogissa pohdtiaan mikä tarkalleen ottaen on Hadoop, vai voiko sitä ylipäätään noin vain häkittää ja määrittää? Lisäksi käydään läpi muita kyseisen sovelluksen olennaisia seuralaisia.

Otetaanpa viiden vuoden aikasiirtymä menneisyyteen – Clouderan viiden päivän Hadoop MapReduce ohjelmointikurssi Lontoossa. Se oli yksi tajuntaa rasittavimmista mitä olen päässyt todistamaan. Tämän lisäksi olen kokenut vain yhden vastaavan, joka on saanut fyysiset cpu:ni ja io:ni kellottamaan 100%:sti tunti tunnin jälkeen – viiden päivän Oracle DBA kurssi 90 -luvulla konsolilta operoituna. Palataan Hadooppiin ja ensiksi mainittuun “ekskursioon”. Jonkinmoisesta etukäteisvalmistelusta huolimatta kurssi oli sellaista termien ja uusien asioiden juhlakulkuetta, että aivojen ylivuototilannetta oli vaikea estää. Kokonaisuuksien sisäistäminen jäi monilta osin jälkikäteispähkäilyksi. Ken Hadoop -maailmaan hyppää äkkiseltään, on järkevää varautua termien, työkalujen ja hassujen nimien vyörytykseen sekä ymmärtää että kaikkea ei tarvitse ymmärtää eikä edes muistaa.

Avarea Hadoop

Hadoop – Mikä se on?

Palataan järjestelmän perusteisiin. Hadoop on vikasietoinen Java-pohjainen open source ’distributed computing’ framework. Sen ydinkomponentteina ovat mm. HDFS -levyjärjestelmä, YARN -resurssienhallinta ja MapReduce ohjelmointimalli. Tämän lisäksi Hadoop ekosysteemiin kuuluu useita välineitä, jotka pääsääntöisesti integroituvat suoraan Hadoopin ydinkomponentteihin. Koska alustana se voi muodostua vaikkapa 20:stä eri erillisestä välineestä joilla on luonnollisesti päivittyvät versiot ja normaalissa elämässä ilmenevät yhteensopivuusongelmat kaikkien muiden välineiden kanssa, on markkinoille vuosien varrella tullut toimittajia omine Hadoop-ekosysteemeineen. Ottaessasi tällaisen valmiin ns. Hadoop distribuution käyttöösi, sinun ei tarvitse itse ylläpitää hyvinkin monimutkaista konfiguraatio- ja versiohallintahelvettiä, vaan valmis alusta hoitaa sen puolestasi. Tunnetuimmat distribuutioiden tarjoajat ovat Hortonworks, Cloudera & MapR. Näiden lisäksi on vielä liuta muita toimittajia. Huomattakoon, että myös pilvipalvelutarjoajilla on omat Hadoop distronsa, esim. Microsoftin Azurella HDInsight joka pohjautuu Hortonworksin HDP distribuutioon, mutta jossa lisäarvona kyseinen data-alusta on täysin integroitu Azure pilvialustan palveluihin.

Hadoop on vikasietoinen Javapohjainen open source ’distributed computing’ framework.

Miten oppia Hadoopia?

Hyvä pohja sekä teoreettiseen että käytännön opiskeluun on valita joku valmisdistro ja tutkia sen tarjoomaa. Työkalut distrojen välillä ovat pääsääntöisesti samoja, mutta eroja toki löytyy. Mikäli intoa on käytännön kokeiluun, virtuaalikoneita VMWare ja VirtualBoxille on ladattavissa toimittajien sivustoilta – itse olen käyttänyt Clouderan ja Hortonworksin valmisvirtuaalikoneita. Näppärä vaihtoehto jumpata Hadoop -harjoituksia on myös ostaa instanssi Azurelta tai AWS:ltä. Tämä helpottaa työn jakamista muille projektiin osallistuville.

Kaiken kattava työkalutarjooman läpikäyminen ei mahdu tämän kirjoituksen sisältöön, mutta otetaan muutama esimerkki joita itse olen ollut käyttämässä.

  • Hive – SQL -kanta. Huomattakoon, että Hive muistuttaa vain joltain osin perinteellisempää relaatiokantaa ja tällä toteutuksella on useita seuraamuksia mm. se, että se ei sovellu kovin hyvin adhoc -kyselyihin, mutta tämäkin asia on nopeasti muuttumassa/muuttunut
  • Ambari – Mm. Hortonworks Data Platformin graafinen hallinointityökalu
  • Ranger – Monipuolinen alustaan integroitu työkalu mm. tietojen auktorisointiin
  • Atlas – Data governance ja metadatatyöväline
  • Spark – Hadoop -datanprosessointityökalu (tukee mm. Scala, Java, Python ja R -kieliä)
  • Sqoop – Työkalu tiedonsiirtämiseen Hadoop <-> tietokannat
  • Oozie – Data pipeline ja ajastus -työkalu
  • Nifi – Erittäin monipuolinen graafinen työkalu datan siirtelyyn, monitorointiin ja hallintaan

Lisää tietoa Modernista tiedonhallinnasta!

Tätä kirjoittaessa olen Hadoop – Big Data Dataworks seminaarissa Berliinissä, joka on Hortonworksin sponsoroima. Näiden vuosien jälkeenkin tiedon tulva ja laajuus aiheuttaa mukavaa ähkyä yläkerrassa. Ehkäpä valaisevaa on seminaarin aihealueryhmittely:

  • Data warehousing and operational data stores
  • Artificial intelligence and data science
  • Big compute and storage
  • Cloud and operations
  • Governance and security
  • Cybersecurity
  • IoT and streaming
  • Enterprise adoption

Data-alustojen ja teknologien kehitysvauhti on nopeaa, eikä se johdu pelkästään siitä, että lähes kaikki it -järjestelmiä kehittävät yritykset ovat lähteneet matkaan tavalla tai toisella. Yksi iso syy nopealle penetraatiolle on myös se, että yksittäiset työkalut ja välineet ovat lähes kaikki Apache open source lisenssien alla toimivia projekteja, joilla on valtava käyttäjä- ja kehittäjäyhteisö. Lisäksi isot yritykset, kuten Google, Facebook, Yahoo, LinkedIn & Twitter (plus muut) pääsääntöisesti antavat kehittämänsä frameworkit ja välineet Apachen hallittavaksi. Tämä tuo lisää luotettavuutta, näkyvyyttä ja jatkuvuutta trendeille. Luonnollisesti myös kaupalliset BI/raportointi jne. sovellustoimittajat (SAS, Oracle, IBM, Microsoft jne.) ovat kehittäneet omat alustansa ja välineensä integroitumaan Hadoop ekosysteemiin (ja suurin osa jopa on luonut omia Hadoop -pohjaisia kaupallisia ratkaisuja). Mikäli et ole vielä tähän maailmaan perehtynyt, nyt on viimeistään sen aika!

 

Blogi-postauksetUutisia analytiikastaLue lisää osaamisestamme!Lue lisää palveluistamme!