De training dient als inleiding tot PySpark en is bedoeld voor gebruikers die al ervaring hebben met Python3 en het maken van modellen (bij voorkeur Scikit Learn) aan te moedigen om met Spark te werken. De training gaat in op het met Python gebruiken van de volgende Spark componenten:
- Spark Dataframes en SQL
- Spark ML
Aan het einde van de training kan je het volgende:
- Verschillende data formaten inladen
- Bewerkingen toepassen op een PySpark dataframe
- Data wegschrijven
- Modellen trainen en evalueren met Spark ML
Aangezien dit een basis / introductie tot PySpark is, is het raadzaam om dit op te volgen met trainingen in PySpark op specifieke onderwerpen als Feature Engineering, Spark Machine Learning etc.
- Ervaring met Python3
- Ervaring met machine learning, bij voorkeur Scitkit Learn
- Docker geinstalleerd
Alle is ingeregeld om in een Docker container te draaien met Zeppelin, Spark, de notebooks en de benodigde data.
- Clone de repo
- In de terminal ga naar de root van de repo
- Start de container
docker-compose up -d
De notebooks worden gesynchroniseerd naar de lokale folder.
Houdt er rekening mee dat veel antwoorden op StackOverflow etc zijn gebasseerd op Spark1, in de training - maar ook daarbuiten - wordt er met Spark2 gewerkt. Wat is het verschil?
De standaard taal voor Spark is Scala, bij het gebruik van PySpark gebruik je feitelijk een Python API, niet alle functionaliteit is beschikbaar in PySpark.
Zeppelin is vergelijkbaar met Jupyter in de zin dat ze allebei notebooks zijn, echter zijn er we heel veel verschillen. Mocht je geinteresseerd zijn in de verschillen en/of waarom welke "beter" is, is dit wel een aardig artikel https://stackshare.io/stackups/jupyter-vs-zeppelin
Interpreter, binnen de interpret spark
is scala
de standaard (%spark
) daarnaast kan je nog kiezen uit
%sql
dit betreft SparkSQL%pyspark
dit betreft een Python interpreter die is ingericht om gebruik te maken van PySpark%r
dit betreft een R interpreter om gebruik te maken van SparkR
Per code block / paragraaf kan er 1 interpreter gekozen worden, dit houdt in dat je PySpark en SQL kan mixxen je kan ook MarkDown als interpreter aanroepen. Dit doe je door bovenaan je paragraaf met %
de interpreter te bepalen.
Bijvoorbeeld eerst een blok markdown:
%md
# Dit is een titel!
En in hetzelfde notebook vervolgens een paragraaf met SparkSQL
%sql
show tables
Om vervolgens een paragraaf uit te voeren druk je op SHIFT + ENTER
.
Interpreters moeten wel geactiveerd zijn in je notebook.