-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Uitgangspunt van DiDo is dat alle data wordt opgeslagen als een of meer tabellen in Postgres. Daartoe moet eerst die tabel worden gedefinieerd. Daar zijn de volgende onderdelen voor nodig:
- Een DiDo projekt in Gitlab. Dat projekt wordt gekloond in jouw
projects
directory. Lees hoe je snel zo'n projekt kunt aanmaken. - Elk DiDo programma verwijst vervolgens met de -p(roject) parameter naar die gekloonde directory
- In die project directory is een
config
directory met daarin eenconfig.yaml
file. Daarin vindt je verwijzingen naar dataschema, metafile en database servers. - Er is een dataschema met de beschrijvingen van de kolommen van de tabel.
- Er is een metafile waarin gegevens over de in te richten tabel te vinden zijn.
- Met het programma
dido_create_tables.py
kun je de tabellen aanmaken. Je moet aandido_create_tables
de-p
parameter opgeven gevolgd door het pad waar het projekt is te vinden (het projekt dat je hebt gekloond in jouwprojects
directory).
Van elke tabel moet minstens worden gedefinieerd:
- de naam en betekenis van de tabel
- De namen van elke kolom
- Het datatype van elke kolom
- De beschrijving van elke kolom
Dit zijn de minimum vereisten. DiDo vult de rest automatisch in.
Een datamodelleur en een analist vullen de DiDo defaults aan, denk aan:
- Minimum en maximum waarden per kolom
- het al dan niet toestaan van NULL waarden
- Lijsten met toegestane waarden
- Frekwentie van de levering (Jaarlijks, maandelijks, etc.)
- Het wijzigen van waarden (bijvoorbeeld 00000000 -> 9999-12-31)
Goede controle op de definitie belangrijk. Wijzigen achteraf is (nog) niet mogelijk.
Overzicht van het Data Definitie Proces
Data wordt als een levering aangeleverd door een leverancier en opgeslagen in een s3-bucket. Elke levering moet voldoen aan de definities zoals die zijn opgeslagen in de database. In de leveringsfile worden de specifieke eigenschappen beschreven van deze levering, zoals de datum waarop deze geleverd is, de tekenset, etc.
Vervolgens leest DiDo de data in. De data moet voldoen aan de data-definitie. Tijdens het inlezen wordt daarop gecontroleerd.
- Kontrole of het aantal kolommen en de namen van de kolommen ervan korrekt zijn
- Kontrole of datatypes, min/max, etc. korrekt is
- Data wordt gewijzigd indien dat wordt gespecificeerd
- etc.
Foutmeldingen worden gegenereerd in .csv, markdown en sql formaat. Naar aanleiding van de foutmeldingen kun je beslissen om de data al dan niet op te slaan. In principe worden fouten niet opgeslagen, maar DiDo laat in bepaalde gevallen toe als je dat wilt.
Overzicht van het Data Inlezen Proces
DiDo slaat de data op, maar ook veel zaken eromheen, denk aan:
- historie
- welke periode de levering betreft
- datum waarop de data is opgeslagen
- leverancier van de data
- kwaliteit van de data
- etc.
Dit gebeurt allemaal op de achtergrond. Dat maakt het mogelijk specifieke leveringen terug te vinden en achteraf aan te passen.
- Inrichten van een eigen project voor DiDo
- Definieren van de data van je projekt
- Inlezen van een levering - Een nieuwe levering door DiDo laten controleren en opslaan in de database
- Files - schemafile, metafile, bootstrapfile, configfile
- Logisch model ODL - Datamodel van de Operationele DataLaag.