Prof. Dr. Tilmann Rabl


Prof. Dr. Tilmann Rabl, Ilin Tolovski, Thomas Bodner


The amount of data that can be generated and stored in academic and industrial projects and applications is increasing rapidly. Big data analytics technologies have established themselves as a solution for big data challenges to the scalability problems of traditional database systems. The vast amounts of new data that is collected, however, usually is not as easily analyzed as curated, structured data in a data warehouse is. Typically, these data are noisy, of varying format and velocity, and need to be analyzed with techniques from statistics and machine learning rather than pure SQL-like aggregations and drill-downs. Moreover, the results of the analyses frequently are models that are used for decision making and prediction. The complete process of big data analysis is described as a pipeline, which includes data recording, cleaning, integration, modeling, and interpretation.

In this lab course, we will gain practical experience with big data systems. We will setup a small cluster of Raspberry Pis, install all required software, and implement and execute typical big data tasks.


Successful completion or current participation in the course Big Data Systems.


  • Spark SQL Guide
  • Spark SQL: Relational Data Processing in Spark. Armbrust et al. ACM SIGMOD 2015


  • The introductory lab session will also be streamed live, Zoom link is available in Moodle
  • Course management will be done using the HPI Moodle
  • The lab sessions will be held on-site at HPI
  • Non-HPI participants: please send us an email to get access to the Moodle

Schedule (tentative) 

The lab sessions will be held on Tuesdays (L-1.02) at 13:30 to 15:00 h.

24.10.Cluster SetupLecture
7.11.Cluster SetupLab
28.11.KeyValue Store + YCSB (Cassandra) + KubernetesLecture
5.12.KeyValue Store + YCSB (Cassandra) + KubernetesLab
12.12.PySpark / Notebooks / More Analytics + VisualizationLecture
19.12.PySpark / Notebooks / More Analytics + VisualizationLab
9.1.Stream Processing (Flink/Spark Streaming) + KafkaLecture
16.1.Stream Processing TaskLab
23.1.Language Model Task - PyTorch + ML FlowLecture     
30.1.Language Model TaskLab


The grade will be determined by an exam. The time and location of the exam will be anounced at least 6 weeks in advance. The prerequisite for admission to the exam is the successful completion of the exercises. In case of low participation, the exam might be replaced by an oral examination.

The grade breakdown is as follows:

  • 3 graded programming exercies (pass all for exam eligibility)
  • 4 graded quizzes (50% in all quizzes for exam eligibility)
  • Final Exam (100% of the grade)