Big data in de praktijk met Spark

Iedereen is tegenwoordig aan de slag met "big data" en data science. Ook u wil ongetwijfeld uw volumineuze databronnen (click streams, sociale media, relationele data, cloud-data, sensor-data, ...) ondervragen, en botst hierbij op de tekortkomingen van de traditionele data-analyse-tools. Dan hebt u misschien behoefte aan de rekenkracht van een cluster --en z'n parallelle verwerkingsmogelijkheden-- om uw distributed data stores te ondervragen.

Indien "fast prototyping" en verwerkingssnelheid prioritair zijn, dan komt u ongetwijfeld bij Spark terecht. Apache Spark is een open source-platform dat zich vooral toespitst op snelheid, gebruiksgemak, flexibiliteit, en analytics. Het is een interessant alternatief voor de MapReduce-aanpak van Hadoop met Hive (cf. onze cursus Big data in de praktijk met Hadoop). Spark heeft ondertussen het traditionele Hadoop aangevuld, en eigenlijk vervangen, dankzij het hoger niveau van abstractie van Spark's APIs en z'n snellere in-memory processing.

spark-logo.png

In het bijzonder laat Spark toe om op een eenvoudige manier databronnen te raadplegen op HDFS, in een NoSQL-database (b.v. Cassandra of HBase), in een relationele database, in de cloud (b.v. AWS) of in lokale bestanden. Onafhankelijk daarvan kan een Spark-job eenvoudig draaien op hetzij de lokale machine (als ontwikkelomgeving), of op een Hadoop-cluster (met Yarn), of een Mesos-omgeving, of Kubernetes, of in de cloud. En dit alles via een eenvoudig Spark script of via een complexer (Java- of Python-)programma of via een web-based notebook (b.v. Zeppelin).

Deze cursus kadert in de context van de overzichtscursus Big data architectuur en infrastructuur. We gaan zelf aan de slag op Linux met Spark en met z'n bibliotheken. U leert hoe u robuuste data-processing implementeert (in Scala, Python, Java of R) met een SQL-achtige interface.

Na afloop van deze cursus hebt u voldoende basis-expertise opgebouwd om zelfstandig een ontwikkelomgeving voor Spark op te zetten en hiermee uw data zinvol te ondervragen. U zult in staat zijn, eenvoudige SparkSQL-scripts en -programma's te schrijven (met de Scala-gebaseerde SparkShell of met PySpark) die gebruik maken van de bibliotheken MLlib, GraphX, en de streaming library.

Kalender

Momenteel zijn er voor deze cursus geen publieke sessies gepland. Graag organiseren we een bedrijfssessie voor u of een extra publieke sessie (bij voldoende belangstelling). Geïnteresseerd? Gelieve dan ABIS te contacteren.

Doelgroep

Eenieder die praktisch aan de slag wil met Spark: ontwikkelaars, data-architecten, en iedereen die met data science technologie moet kunnen werken.

Voorkennis

Vertrouwdheid met de concepten van data clusters en distributed processing is noodzakelijk; zie hiervoor onze cursus Big data architectuur en infrastructuur. Verder is minimale kennis van SQL en van Unix/Linux een pluspunt. In elk geval is minimale ervaring met een programmeertaal (b.v. Java, Python, Scala, Perl, JavaScript, PHP, C++, C#, ...) noodzakelijk.

Inhoud

  • Motivatie voor Spark & basisconcepten
  • Het Apache Spark-project en z'n componenten
  • Leer de Spark-architectuur en z'n programmeermodel kennen
  • De principes van Data Analytics
  • Databronnen
  • Raadplegen van data die zich bevindt in Hadoop HDFS, Cassandra, AWS, of een relationele database
  • Interfaces
  • Werken met de verschillende programmeer-interfaces en de webinterface (i.h.b. Spark-shell en PySpark)
  • Programma's schrijven en debuggen die simpele data-analyseproblemen behandelen
  • Data Frames en RDDs
  • Een korte inleiding tot het gebruik van de Spark-libraries
  • SparkSQL
  • Machine learning (MLlib)
  • Streaming (dus het verwerken van "volatile" data)
  • Parallelle berekeningen in boomstructuren en grafen (GraphX)

Verloop van de cursus

Klassikale training, waarbij de nadruk ligt op praktische voorbeelden en uitgebreide praktijkoefeningen.

Duur

2 dagen.

Docent

Peter Vanroose.


SESSIE-INFO EN INSCHRIJVEN