Bachelor's Thesis

Comparison of ETL systems from Apache Foundation

Final Thesis 2.07 MB Appendix 70.1 kB

Author of thesis: Bc. Sebastián Konečný

Acad. year: 2025/2026

Supervisor: Ing. Jiří Kovář, Ph.D.

Reviewer: Ing. Jiří Kroupa, Ph.D.

Abstract:

This bachelor thesis deals with the comparison of selected ETL tools from the Apache Software Foundation ecosystem. The main focus is on Apache NiFi, Apache Airflow and Apache Spark, which represent different approaches to the design and implementation of data pipelines. The theoretical part explains the basic principles of ETL and ELT processes, data engineering, data warehouses, data lakes and selected data formats. The practical part focuses on the implementation of simple ETL pipelines for processing log data from a simulated manufacturing environment. The result of the thesis is a comparison of the suitability of the selected tools for different types of tasks and a proposal of a modular architecture combining Apache NiFi, Apache Airflow and Apache Spark.

Keywords:

ETL, ELT, Apache NiFi, Apache Airflow, Apache Spark, data pipeline, data engineering, log processing, JSON

Date of defence

11.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

Process of defence

Při obhajobě student nejprve prezentoval svou bakalářskou práci. Následně byly přečteny posudky a student odpověděl na dotazy oponenta. Poté členové komise položili následující otázky: - Na základě kolika zdrojů jste vybral tři uvažované varianty? - Jak jste simuloval data? Jaký je celkový datový tok? Na závěr byla obhajoba hodnocena jako dobrá.

Language of thesis

Czech

Faculty

Department

Study programme

Mechatronics (B-MET-P)

Composition of Committee

doc. Ing. František Šebek, Ph.D. (předseda)
Ing. Petr Procházka, Ph.D. (místopředseda)
Ing. Petr Krejčí, Ph.D. (člen)
doc. Ing. Stanislav Věchet, Ph.D. (člen)
Ing. Pavel Švancara, Ph.D. (člen)
Ing. Jan Králík, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Kovář, Ph.D.

Student k tématu své bakalářské práce „Srovnání ETL systémů Apache Foundation“ přistupoval zodpovědně, svědomitě a s aktivním zájmem.

V průběhu řešení prokázal systematický přístup k řešení vznikajících problémů a značné zaujetí pro zvolenou problematiku. Toto zaujetí místy vedlo k přílišnému soustředění na dílčí aspekty tématu na úkor celkového nadhledu, což však vzhledem k rozsahu a náročnosti studovaného materiálu nelze hodnotit negativně.

Praktická část práce byla navržena s důrazem na funkčnost a zároveň na možnost jejího využití v reálném provozním prostředí společnosti, ve které student působí. Tohoto cíle dosáhl navzdory omezení, že při zpracování práce nemohl využít interní data ani informace dané společnosti.

Za určitou slabinu práce považuji nižší míru pečlivosti ve finální úpravě textové i grafické části. Rovněž by bylo vhodné podrobněji popsat implementovaný kód, což by přispělo k lepší srozumitelnosti a reprodukovatelnosti navrženého řešení.

Přes uvedené dílčí výhrady hodnotím práci jako zdařilou a navrhuji klasifikaci B – velmi dobře.
Evaluation criteria Grade
Fulfilment of requirements and objectives of assignment B
Working process, extent and suitability of applied methods B
Scholarly contribution and originality B
Ability to interpret achieved results and draw conclusions B
Applicability of results in practice or theory A
Logical arrangement of thesis and its layout A
Grafic layout, used style and language level D
Work with used sources including quotations B
Student's independence when working on the topic A

Grade proposed by supervisor: B

Reviewer’s report
Ing. Jiří Kroupa, Ph.D.

Bakalářská práce se zabývá porovnáním vybraných ETL nástrojů z ekosystému Apache Foundation, konkrétně Apache NiFi, Apache Airflow a Apache Spark.

Teoretická část poskytuje přehled základních principů ETL a ELT procesů, datových skladů, datových jezer a vybraných technologií souvisejících se zpracováním dat. Autor dále představuje hlavní vlastnosti tří nejpoužívanějších nástrojů společně se stručným popisem dalších nástrojů Apache Foundation. V teoretické části chybí analýza, na základě které by bylo možné stanovit tři nejpoužívanějších technologie. V práci je pouze konstatováno, o jaké technologie se jedná.

Praktická část obsahuje implementaci demonstračních ETL pipeline v prostředích Apache NiFi, Apache Airflow a Apache Spark nad simulovanými výrobními logy. Následně je navržena modulární architektura, ve které jednotlivé nástroje plní specializované role v rámci společného datového toku. Jak autor správně uvádí, jednotlivé nástroje plní odlišné role v procesu ETL, proto se mi zdá být zadání prvního úkolu zvoleno nešťastně.

Vzhledem k jazyku práce nedokážu objektivně posoudit gramatiku. I přes to se v textu vyskytují poměrně zásadní nedostatky, jako nedokončené věty nebo bezprostředně po sobě se opakující dva identické odstavce (začátek kapitoly 3.5.1). Nadužívání anglických výrazů i pro běžná slova, jako sample (vzorek), batch (dávka), user-defined (uživatelsky definované) a dále hovorových výrazů jako „Data pipelines ŤAHAJÚ dáta z dátových zdrojov“ působí rušivě. Tyto nedostatky zásadně ovlivňují čtivost práce a také její kvalitu.

Přes uvedené výtky lze zadané cíle považovat za splněné. Autor prokázal schopnost orientace v problematice datového inženýrství a dokázal navrhnout a realizovat funkční demonstrační řešení. Přínosem práce je zejména praktické porovnání odlišných přístupů ke zpracování dat a ukázka jejich vzájemné integrace. Pozitivně hodnotím také snahu propojit teoretické poznatky s praktickou implementací.
Evaluation criteria Grade
Fulfilment of requirements and objectives of assignment C
Working process, extent and suitability of applied methods C
Scholarly contribution and originality C
Ability to interpret achieved results and draw conclusions C
Applicability of results in practice or theory C
Logical arrangement of thesis and its layout C
Grafic layout, used style and language level D
Work with used sources including quotations B
Topics for thesis defence:
  1. Na základě čeho jste stanovil tři nejpoužívanější technologie?
  2. V kapitole 4 uvádíte "Dátový sample je pripravený a štatisticky spracovaný pre overenie funkčnosti". Jakým způsobem jste data statisticky zpracoval?

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová