Data-analytiikka Apache Sparkilla
Partamies, Lassi (2018)
Partamies, Lassi
Jyväskylän ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018062714263
https://urn.fi/URN:NBN:fi:amk-2018062714263
Tiivistelmä
Opinnäytetyö toteutettiin osana IoT:sta liiketoimintaan -projektia. Sen tavoitteena oli tutkia Apache Sparkin arkkitehtuuria ja toimintaa levossa olevan datan sekä reaaliaikaisen datavirran analysoinnissa.
Opinnäytetyön teoreettinen osuus koostuu Apache Sparkin arkkitehtuurin kuvaamisesta, sen käyttämästä Resilient Distributed Datasets (RDD)-toiminnasta ja Pythonin valmiiden data-analytiikkakirjastojen käyttämisestä Apache Sparkissa. Työn käytännön osuudessa Apache Sparkiin kytkettiin useita ulkoisia datalähteitä, jotka yhdistettiin ja data-analytiikan avulla analysoidaan käyttäen Python-ohjelmointikieltä. Työn tarkoituksena oli luoda ympäristö, jolla pystyttiin kokonaisuudessaan suorittamaan kaikki data-analytiikan toimenpiteet.
Data haettiin kahdesta eri lähteestä: Jyväskylän ammattikorkeakoulun Mango-palvelusta ja Ilmatieteenlaitoksen avoimesta datasta. Datavirrat luotiin Apache Kafkalla, johon tieto haettiin käyttämällä Pythonilla luotuja skriptejä. Datavirrat syötettiin Apache Sparkille, jossa tieto lähes reaaliajassa poimittiin ja tallennettiin sisäiseen tietokantaan. Tämän li-säksi haetusta datasta laskettiin korrelaatiota veden sameuden ja sademäärien välillä ja pyrittiin ennustamaan sateen muutoksia käyttäen apuna sääennustedataa.
Opinnäytetyössä päästiin lähes haluttuihin tavoitteisiin, jokseenkin tiettyjen osioiden jääden hieman vajaiksi. Tästä esimerkkinä Pythonin valmiiden data-analytiikkakirjastojen käyttö. Ympäristöstä saatiin toimiva ja tavoitteita vastaava. Itse data-analytiikan osuudes-ta saatiin halutut tulokset mitattua, mutta ne eivät datan puolesta ole täysin tarkkoja vaan enemmänkin suuntaa-antavia.
Opinnäytetyön teoreettinen osuus koostuu Apache Sparkin arkkitehtuurin kuvaamisesta, sen käyttämästä Resilient Distributed Datasets (RDD)-toiminnasta ja Pythonin valmiiden data-analytiikkakirjastojen käyttämisestä Apache Sparkissa. Työn käytännön osuudessa Apache Sparkiin kytkettiin useita ulkoisia datalähteitä, jotka yhdistettiin ja data-analytiikan avulla analysoidaan käyttäen Python-ohjelmointikieltä. Työn tarkoituksena oli luoda ympäristö, jolla pystyttiin kokonaisuudessaan suorittamaan kaikki data-analytiikan toimenpiteet.
Data haettiin kahdesta eri lähteestä: Jyväskylän ammattikorkeakoulun Mango-palvelusta ja Ilmatieteenlaitoksen avoimesta datasta. Datavirrat luotiin Apache Kafkalla, johon tieto haettiin käyttämällä Pythonilla luotuja skriptejä. Datavirrat syötettiin Apache Sparkille, jossa tieto lähes reaaliajassa poimittiin ja tallennettiin sisäiseen tietokantaan. Tämän li-säksi haetusta datasta laskettiin korrelaatiota veden sameuden ja sademäärien välillä ja pyrittiin ennustamaan sateen muutoksia käyttäen apuna sääennustedataa.
Opinnäytetyössä päästiin lähes haluttuihin tavoitteisiin, jokseenkin tiettyjen osioiden jääden hieman vajaiksi. Tästä esimerkkinä Pythonin valmiiden data-analytiikkakirjastojen käyttö. Ympäristöstä saatiin toimiva ja tavoitteita vastaava. Itse data-analytiikan osuudes-ta saatiin halutut tulokset mitattua, mutta ne eivät datan puolesta ole täysin tarkkoja vaan enemmänkin suuntaa-antavia.