MODULEWIJZER
HOGESCHOOL ROTTERDAM/CMI
HOGESCHOOL ROTTERDAM / CMI
CMIENSBDH BIG DATA PROCESSING MET HADOOP
Aantal studiepunten: 4 Modulebeheerder: R. Bakker
INFANL01-3
1
MODULEWIJZER
HOGESCHOOL ROTTERDAM/CMI
Modulebeschrijving CMIENSBDH Cursusnaam: Modulecode: Aantal studiepunten en studiebelastinguren:
BIG DATA PROCESSING MET HADOOP CMIENSBDH De module CMIENSBDH levert in totaal 4 studiepunten op. Dit komt overeen met een studielast van 112 uren. De verdeling van deze 112 klokuren over de collegeweken is als volgt:
Begeleide uren: totaal Gedurende 8 weken: 8 * 150 minuten 20 uur Onbegeleide uren: Zelfstudie / voorbereiding op lessen 8 * 4 uur 32 uur Uitwerken van opdrachten 8 * 5 uur 40 uur Voorbereiding en deelname schriftelijk tentamen 20 uur Totaal: 112 uur Vereiste voorkennis: Operating systems (Unix/Linux), relationele databases (SQL) In theorielessen worden verschillende concepten uitgelegd. Vervolgens pas je de Werkvormen: theorie toe door het uitwerken van opdrachten. Je hebt de module behaald als je practicumopdrachten zijn goedgekeurd en voor Toetsing: de theorietoets (gesloten boek) minimaal een 5,5 hebt gehaald. Leermiddelen: Draagt bij aan competenties:
Leerdoelen:
Inhoud: Opmerkingen: Modulebeheerder: Datum:
INFANL01-3
Na deze module: ● heeft de student kennis over Hadoop Fundamentals I bij Big Data University met succes afgerond ● heeft de student de cursus Query Languages for Hadoop bij Big Data University met succes afgerond ● kan de student werken met Hadoop ● kan de student werken met Pig en Hive ● kan de student een data set importeren naar Hadoop en queries uitvoeren. ● begrijpt de student het MapReduce principe en kan hij/zij dit toepassen bij parallellisatie van algoritmen
Aanwezigheid is verplicht. Ahmad Omar 2014 ; v 0.1
2
MODULEWIJZER
1. 1.1
HOGESCHOOL ROTTERDAM/CMI
Algemene omschrijving Inleiding
Apache Hadoop * is een open source Java framework voor de verwerking en het bevragen van grote hoeveelheden gegevens op grote clusters van commodity hardware. Hadoop is inmiddels de de facto industrie standaard voor ‘big data processing’. Hadoop bestaat uit een aantal subprojecten waarvan binnen deze module de volgende aan de orde komen: ● Hadoop Common: The common utilities that support the other Hadoop subprojects. ● HDFS: A distributed file system that provides high throughput access to application data. ● MapReduce: A software framework for distributed processing of large data sets on compute clusters. ● Hive: A data warehouse infrastructure that provides data summarization and ad hoc querying. ● Pig: A high-level data-flow language and execution framework for parallel computation. ● ZooKeeper: A high-performance coordination service for distributed applications. 1.2
Relatie met andere onderwijseenheden
Vereiste voorkennis: Unix/Linux, SQL, CISCO 1.3
Leermiddelen
Het volgende boek is verplicht: Tom White. Hadoop: The Definitive Guide. 3rd Ed. O’Reilly 2012. ISBN 1449311520 Overige literatuur: Chuck Lam. Hadoop in Action. Manning 2010. Lars George. HBase: The Definitive Guide. O’Reilly 2011. Alan Gates. Programming Pig. O’Reilly 2011. Edward Capriolo. Programming Hive. O’Reilly 2012. Eric Sammer. Hadoop Operations. O’Reilly 2012. David Miner. MapReduce design patterns. O’Reilly 2012. T. Nadeau and K. Gray, “SDN,” O’Reilly, 2013. Pramod J. Sadalage and Martin Fowler, NoSQL Distilled, Addison-Wesley Professional, 2012.
INFANL01-3
3
MODULEWIJZER
2.
HOGESCHOOL ROTTERDAM/CMI
Programma
In onderstaande tabel zie je hoe de onderwerpen binnen de module over de lesweken tijdens de onderwijsperiode zijn verdeeld. Een les bestaat uit drie lesuren met zowel theorie als praktijk. Wk 1
Onderwerp Big Data en Hadoop
Lesinhoud •
Inleiding
•
Big Data (Hadoop,
Huiswerk
Literatuur
BigDataUniversity - Big Data Fundamentals
- BigData University - Hadoop The Definitive Guide
BigDataUniversity - Hadoop Fundamentals I –V3
- BigData University - Hadoop The Definitive Guide - BigData University - Hadoop The Definitive Guide
SDN, NoSQL)
2
3
4
Hadoop MapReduce( YARN) Hadoop HDFS
Hive/Pig
•
Hadoop installatie
•
VM, LCX, Docker
•
MapReduce
•
Werken met HDFS
•
Wordcount in Java
•
Replicatie
•
Flume/SQOOP
•
Avro
•
Zookeeper Weather data with Hive and Pig Expermiment with
BigDataUniversity - Moving data into Hadoop
BigDataUniversity - Accessing Hadoop Data Using Hive -Introduction to Pig
- BigData University - Hadoop The Definitive Guide
queries Deadline 1
5
Presentaties
6
NoSQL
Inleiding
Software Defined Netwokig mininet
NoSQL
- Practicumopdracht A Polyglot Persistence NoSQL databasees CAP Theorem
Databasetypen Inleiding
CAP Paper1 Polyglot Persistence2 NoSQL Database3
Hadoop Mininet openStack
OpenStack SDN Architectuur 7 Deadline 2
8
Afronding
Software Defined Networking SDN4 - Practicumopdracht B/C
Eisen aan producten en rapporten Elk product dat je inlevert, is voorzien van titel, naam, klas, studentnummer, datum en modulecode. Teksten voldoen aan de regels voor spelling en grammatica. Rapporten zijn bovendien voorzien van inhoudsopgave, koppen, tussenkoppen en paginanummering.
1
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.6951&rep=rep1&type=pdf http://martinfowler.com/articles/nosql-intro-original.pdf 3 http://www.academia.edu/4112230/Improving_the_Availability_of_NoSQL_Databases_for_Clo ud_Storage 4 https://www.clear.rice.edu/comp529/www/papers/tutorial_4.pdf 2
INFANL01-3
4
MODULEWIJZER
3.
Toetsing en beoordeling
3.1
Procedure
HOGESCHOOL ROTTERDAM/CMI
Deze module wordt getoetst dmv 1. het succesvol afronden van de cursus Hadoop Fundamentals, Hive en Pig bij Big Data University (15 punten) en het behalen van certificaten. 2. een practicumopdracht (85 punten mits schriftelijke toets voldoende) 3.2
Practicumopdracht tijdens de les(45 punten) Opdracht A (15 punten): 1) Installeer Hadoop single node op je laptop: a) Ubuntu LTS b) Hadoop i) https://wiki.apache.org/hadoop/Hadoop2OnWindows ii) http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoopcommon/SingleNodeSetup.html 2) Programeer een Hadoop applicatie/job in java die gebruik maakt van de MapReduce interface. Je applicatie berekend de gemiddelde temperatuur per jaar uit databronnen. Een uitleg over deze opdracht staat in het boek “Hadoop: The Definitive Guide” vanaf hoofdstuk 2. Download de weather datasets (zie link hieronder). https://github.com/tomwhite/hadoop-book/tree/master/input/ncdc/all 3) Programmeer de weather applicatie in Hive en Pig. De resultaten moeten hetzelfde zijn(hoofdstuk 11 en 12). Opdracht B (40 punten) 1) Download een van de datasets van de website http://grouplens.org/datasets/ en analyseer deze data door middel van Java applicatie, Hive en Pig. Je mag zelf een scenario bedenken voor de analyse. Je mag pas beginnen als je een goedkeuring krijgt voor je case. 2) Schrijf een verslag over je case. Je verslag moet de volgende vragen voldoende beantwoorden: i) Waarom wordt Hadoop bij deze opdracht gebruikt? ii) Welke eisen worden gesteld aan de serveromgeving en de applicatie om je java applicatie optimaal te kunnen uitvoeren in een Hadoopomgeving (hardware en software)? iii) Wanner is Hadoop Distributed Filesystem nodig? Welke impact heeft de inzet van HDFS op je applicatie. iv) Hoe werken HDFS en YARN samen? v) Waarom worden Hive en Pig ingezet? vi) Wat zijn de verschillen tussen Hive en Pig? vii) Hoe werkt de applicatie in Java, Pig en Hive(leg je code/queries uit, maak screenshots en)? viii) Wat is je conclusie? Inleveren: (a) verslag van de opdracht inclusief duidelijk geformuleerde onderzoeksvraag, code, screenshots, conclusie en discussie over de techniek die het meest geschikt is voor dit vraagstuk (10 – 15 pagina’s). (b) 3 werkende applicaties
INFANL01-3
5
MODULEWIJZER
HOGESCHOOL ROTTERDAM/CMI
Opdracht C: Je hebt een keuze tussen deze twee opdrachten (30 punten): - Onderzoek de werking van Hadoop en software defined networking SDN met mininet, Hiervoor kun je gebruik maken van openstack en mininet. Denk hier aan het opzetten van een cloud service voor data processing met Hadoop. Je moet je casus eerst afstemmen met de docent voor het start. -
Onderzoek de werking van Hadoop en een van de NoSQL zoals graph of document database op basis van een zelf bedachte case. Bedenk een toepassing scenario. Beschrijf de eisen aan het systeem en de werking van je applicatie. Je moet je casus eerst afstemmen met de docent voor het start
Inleveren: i) Verslag van de opdracht inclusief duidelijk geformuleerde onderzoeksvraag, code, screenshots, conclusie en discussie over de techniek die het meest geschikt is voor dit vraagstuk (10 – 15 pagina’s). ii) Werkende applicatie Aanvullende bronnen voor de opdrachten: OpenStack : http://docs.openstack.org/index.html Mininet: https://github.com/mininet/mininet/wiki/Documentation DevStack: http://docs.openstack.org/developer/devstack/ Project Savana: https://savanna.readthedocs.org/en/0.3/userdoc/features.html Neo4J: http://neo4j.com/ mongoDB: http://www.mongodb.org/
3.3
Herkansing Opdracht B en C moet opnieuw gedaan worden. De casus wordt later bekend gemaakt.
2.4
Cijfer Individueel § Per certificaat 5 punten (max 15 punten) § Practicumopdracht (max 85 punten) (door beoordeling van presentaties en een interview wordt het individuele cijfer bepaald) Eindcijfer = Certificaten + Practicum = Aantal punten /10 Minimaal moet je 5.5 scoren voor een voldoende
INFANL01-3
6