Projekt

Obecné

Profil

Správa datasetů » Historie » Revize 2

Revize 1 (Petr Hlaváč, 2020-05-27 07:41) → Revize 2/24 (Petr Hlaváč, 2020-05-27 08:00)

h1. Správa datasetů 

 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. 

 h2. Architektura  

 h3. Adresáře 

 * *[[CrawledData]]* - Složka určená pro data stažená crawlerem 
 * *[[CrawlerLogs]]* - Složka určená pro uložení informace o crawlerem stažených souborech a počtu dnů od běhu crawleru zaroveň obsahuje logy běhu aplikace 
 * *[[DatasetConfigs]]* - Konfigurační soubory datasetů 
 * *[[DatasetCrawler]]* - Implementace crawlerů k datasetům 
 * *[[DatasetProcessing]]* - Implementace processorů pro zpracování crawlerem stažených dat. 
 * *[[ProcessedData]]* - Data zpracovaná pomocí processorů a připravená pro nahrání do DB. 
 * *[[Utilities]]* - Obsahuje pomocné funkce 

 h3. Skripty 

 
 * *crone_update_script.py* *CroneUpdateScript.py* - skript Script 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. 
 * *docker_prepare_structure.py* *ForceUpdateDataset.py* - vytvoří složky určené Script určen pro stažená a zpracovaná data a vnich podadresáře ruční spuštění celého procesu pro každý dataset registrovaný v architektuře konfiguračním souborem. jeden konkretní dataset. Po spuštění skript vyzve k zadaní názvu datasetu např. KOLOBĚŽKY 
 * *force_update_datasets.py* *ForceUpdateDatasets.py* - skript Script 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. 
 * *fully_clean_database.py* - skript uvede databázi do počátečního stavu (smaže celého procesu pro všechny kolekce) datasety. 
 * *pipeline.py* *Pipeline.py* - Spojuje funkčnost jednotlivých částí (crawler, processor, databaseloader) do jedné pipeliny. Funkčnost pipeliny je využita scripty pro update datasetů. 
 * *prepare_new_dataset.py* *PrepareNewDataset.py* - skript Script určen pro přidání nového datasetu do architektury. architektury datascriptu. 
 * *remove_dataset.py* *RemoveDataset.py* - skript Script určen pro odstranění datasetu z architektury datascriptu. 
 * *RemoveDatasetDatabase.py* - Script určen pro odstranení dat datasetu z databáze. 
 * *reset_datasets.py* *ResetDataset.py* - Script uvede jeden dataset do počátečního stavu, zachová pouze konfigurační soubor a impementaci crawleru a processoru. Po spuštění skript slouží pro uvedení architektury vyzve k zadaní názvu datasetu např. KOLOBĚŽKY 
 * *ResetDatasets.py* - Script uvede všechny datasety do počátečního stavu (smazání zpracovaných dat/stažených dat, odstranění záznamů datasetu z databáze) 

 h3. Konfigurační soubory 

 crontab - stavu, zachová pouze konfigurační soubor obsahující nastavení pro spuštění crone_update_script.py a impementaci crawleru a processoru 
 requirements.txt * *ResetDatabaseData.py* - textový soubor specifikující knihovny potřebné pro spuštění skriptu (knihovny jsou staženy pomocí pipu při buildu docker containeru) 


 Script uvede databázi do počátečního stavu 

 h2. Správa 

 * *[[Přidání datasetu]]* - Návod pro přidání nového datasetu