Projekt

Obecné

Profil

Správa datasetů » Historie » Verze 14

Petr Hlaváč, 2020-05-27 16:28

1 1 Petr Hlaváč
h1. Správa datasetů
2
3
Data script je implementován v Pythonu 3.8.2 jedná se o script, který je spouštěn pomocí Cronu ve večerních hodinách aby stáhl nová data, zpracoval a nahrál je do databáze ve správném formátu.
4
5
h2. Architektura 
6
7 2 Petr Hlaváč
h3. Adresáře
8
9 1 Petr Hlaváč
* *[[CrawledData]]* - Složka určená pro data stažená crawlerem
10 4 Petr Hlaváč
* *[[CrawlerLogs]]* - Složka určená k ukládání logů aplikace.
11 1 Petr Hlaváč
* *[[DatasetConfigs]]* - Konfigurační soubory datasetů
12
* *[[DatasetCrawler]]* - Implementace crawlerů k datasetům
13
* *[[DatasetProcessing]]* - Implementace processorů pro zpracování crawlerem stažených dat.
14
* *[[ProcessedData]]* - Data zpracovaná pomocí processorů a připravená pro nahrání do DB.
15
* *[[Utilities]]* - Obsahuje pomocné funkce
16 2 Petr Hlaváč
17
h3. Skripty
18
19
* *crone_update_script.py* - skript určen pro automatické spouštění Cronem. Pro každý dataset, který má vytvořen konfigurační soubor spustí celý proces stažení,zpracování a nahrání dat do DB.
20 3 Petr Hlaváč
* *docker_prepare_structure.py* - vytvoří složky určené pro stažená a zpracovaná data vnich podadresáře pro každý dataset registrovaný v architektuře konfiguračním souborem. Dále vytvoří složku pro logy.
21 2 Petr Hlaváč
* *force_update_datasets.py* - skript určen pro ruční spuštění updatu vybraného nebo všech datasetů tento skript zároveň kontroluje jestli nenastali v konfiguračním souboru nějaké změny.
22
* *fully_clean_database.py* - skript uvede databázi do počátečního stavu (smaže všechny kolekce)
23
* *pipeline.py* - Spojuje funkčnost jednotlivých částí (crawler, processor, databaseloader) do jedné pipeliny. Funkčnost pipeliny je využita scripty pro update datasetů.
24
* *prepare_new_dataset.py* - skript určen pro přidání nového datasetu do architektury.
25
* *remove_dataset.py* - skript určen pro odstranění architektury datasetu z databáze.
26
* *reset_datasets.py* - skript slouží pro uvedení architektury datasetu do počátečního stavu (smazání zpracovaných dat/stažených dat, odstranění záznamů datasetu z databáze)
27
28
h3. Konfigurační soubory
29
30
crontab - soubor obsahující nastavení pro spuštění crone_update_script.py
31
requirements.txt - textový soubor specifikující knihovny potřebné pro spuštění skriptu (knihovny jsou staženy pomocí pipu při buildu docker containeru)
32
33 6 Petr Hlaváč
h2. Znázornění architektury
34 5 Petr Hlaváč
35 7 Petr Hlaváč
Zpracování datasetu se dělí do třech hlavních částí.
36 5 Petr Hlaváč
37
# Stažení dat
38
# Zpracování dat
39
# Nahrání dat do DB 
40
41
!Architektura.png!
42 1 Petr Hlaváč
43 8 Petr Hlaváč
44 1 Petr Hlaváč
h2. Správa
45
46
* *[[Přidání datasetu]]* - Návod pro přidání nového datasetu
47 11 Petr Hlaváč
48
h1. Databáze
49 12 Petr Hlaváč
50 14 Petr Hlaváč
!DB.png!
51 13 Petr Hlaváč
52 12 Petr Hlaváč
Skript pro správu datasetů vytváří v databázi následující strukturu a kolekce