Data Lineage Analysis for Databricks platform
Analýza datových toků pro platformu Databricks
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/184092Identifiers
Study Information System: 252875
Collections
- Kvalifikační práce [11244]
Author
Advisor
Referee
Škoda, Petr
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science - Software and Data Engineering
Department
Department of Distributed and Dependable Systems
Date of defense
6. 9. 2023
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
databricks|data lineage|data flow|symbolicka analyzaKeywords (English)
databricks|data lineage|data flow|symbolic analysisTechnológie založené na notebookoch, ako sú Databricks a Jupyter Notebooks, si v posledných rokoch získali popularitu vďaka svojej prispôsobivosti a jednoduchému používaniu.Notebook je interaktívne výpočtové prostredie, ktoré umožňuje používateľom vytvárať dokumenty obsahujúce kód, vizualizácie a vysvetľujúci text na jednom mieste. Notebooky poskytujú priestor na prieskum dát, analýzu a dokumentáciu, čo používateľom umožňuje jednoducho rozvíjať a prezentovať svoju prácu. Schopnosť kombinovať vykoná- vanie kódu s vysvetleniami a vizualizáciami v rámci jedného dokumentu podporuje re- produkovateľnosť, zlepšuje spoluprácu medzi členmi tímu a motivuje vedcov k efektívnej práci s dátami. V tejto práci sme analyzovali technológiu Databricks, aby sme rozšírili platformu Manta Flow, vysoko automatizovaný nástroj na analýzu datových tokov, na podporu tejto technológie. Navrhli sme a implementovali nový skener, ktorý poskytuje základnú podporu pre analýzu notebookov Databricks napísaných v jazykoch Python a Databricks SQL. Poskytujeme tiež implementáciu takzvaného zdieľaného kontextu, ktorý možno použiť na prenos informácií medzi rôznymi skenermi na platforme Manta Flow. Na vizualizáciu interakcií medzi jazykmi a skenermi sme rozšírili Manta graf o nový typ uzla, ktorý predstavuje zdieľaný kontext. Okrem toho sme...
Notebook-based technologies, like Databricks and Jupyter notebooks, have gained popularity in recent years due to their adaptability and convenience. A notebook is an interactive computational environment that allows users to create documents that contain code, visualizations, and explanatory text in one place. Notebooks provide a space for data exploration, analysis, and documentation, enabling users to easily develop and present their work. The ability to combine code execution with explanations and visualizations within a single document promotes reproducibility, enhances collaboration among team members, and motivates data scientists to efficiently work with data. In this work, we analyzed the Databricks technology in order to extend the Manta Flow platform, a highly automated data lineage analysis tool, to support this technology. We designed and implemented a new scanner that provides basic support for analyzing Databricks notebooks written in Python and Databricks SQL languages. We also provide an implementation of a so-called shared context that can be used for passing information between different scanners in the Manta Flow platform. To visualize the interactions between languages and scanners we extended the Manta graph with a new node type that represents the shared context. Alongside this, we...