Správa datasetů » Historie » Verze 19
Petr Hlaváč, 2020-05-27 16:40
1 | 1 | Petr Hlaváč | h1. Správa datasetů |
---|---|---|---|
2 | |||
3 | 18 | Petr Hlaváč | 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 | 1 | Petr Hlaváč | |
5 | 18 | Petr Hlaváč | |
6 | 19 | Petr Hlaváč | h2. Správa |
7 | 18 | Petr Hlaváč | |
8 | * *[[Přidání datasetu]]* - Návod pro přidání nového datasetu |
||
9 | |||
10 | 17 | Petr Hlaváč | |
11 | 1 | Petr Hlaváč | 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. |
12 | |||
13 | h2. Architektura |
||
14 | |||
15 | 2 | Petr Hlaváč | h3. Adresáře |
16 | |||
17 | 1 | Petr Hlaváč | * *[[CrawledData]]* - Složka určená pro data stažená crawlerem |
18 | 4 | Petr Hlaváč | * *[[CrawlerLogs]]* - Složka určená k ukládání logů aplikace. |
19 | 1 | Petr Hlaváč | * *[[DatasetConfigs]]* - Konfigurační soubory datasetů |
20 | * *[[DatasetCrawler]]* - Implementace crawlerů k datasetům |
||
21 | * *[[DatasetProcessing]]* - Implementace processorů pro zpracování crawlerem stažených dat. |
||
22 | * *[[ProcessedData]]* - Data zpracovaná pomocí processorů a připravená pro nahrání do DB. |
||
23 | * *[[Utilities]]* - Obsahuje pomocné funkce |
||
24 | 2 | Petr Hlaváč | |
25 | h3. Skripty |
||
26 | |||
27 | * *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. |
||
28 | 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. |
29 | 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. |
30 | * *fully_clean_database.py* - skript uvede databázi do počátečního stavu (smaže všechny kolekce) |
||
31 | * *pipeline.py* - Spojuje funkčnost jednotlivých částí (crawler, processor, databaseloader) do jedné pipeliny. Funkčnost pipeliny je využita scripty pro update datasetů. |
||
32 | * *prepare_new_dataset.py* - skript určen pro přidání nového datasetu do architektury. |
||
33 | * *remove_dataset.py* - skript určen pro odstranění architektury datasetu z databáze. |
||
34 | * *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) |
||
35 | |||
36 | h3. Konfigurační soubory |
||
37 | |||
38 | crontab - soubor obsahující nastavení pro spuštění crone_update_script.py |
||
39 | 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) |
||
40 | |||
41 | 6 | Petr Hlaváč | h2. Znázornění architektury |
42 | 5 | Petr Hlaváč | |
43 | 7 | Petr Hlaváč | Zpracování datasetu se dělí do třech hlavních částí. |
44 | 5 | Petr Hlaváč | |
45 | # Stažení dat |
||
46 | 8 | Petr Hlaváč | # Zpracování dat |
47 | 1 | Petr Hlaváč | # Nahrání dat do DB |
48 | |||
49 | !Architektura.png! |
||
50 | 11 | Petr Hlaváč | |
51 | h1. Databáze |
||
52 | 16 | Petr Hlaváč | |
53 | 15 | Petr Hlaváč | Skript pro správu datasetů vytváří v databázi následující strukturu a kolekce |
54 | 12 | Petr Hlaváč | |
55 | !DB.png! |