Projekt

Obecné

Profil

Akce

Správa datasetů » Historie » Revize 13

« Předchozí | Revize 13/24 (rozdíl) | Další »
Petr Hlaváč, 2020-05-27 16:27


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.

Architektura

Adresáře

Skripty

  • 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.
  • 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.
  • 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.
  • fully_clean_database.py - skript uvede databázi do počátečního stavu (smaže všechny kolekce)
  • 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 - skript určen pro přidání nového datasetu do architektury.
  • remove_dataset.py - skript určen pro odstranění architektury datasetu z databáze.
  • 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)

Konfigurační soubory

crontab - soubor obsahující nastavení pro spuštění crone_update_script.py
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)

Znázornění architektury

Zpracování datasetu se dělí do třech hlavních částí.

  1. Stažení dat
  2. Zpracování dat
  3. Nahrání dat do DB

Správa

Databáze

!Navrh DB.png!

Skript pro správu datasetů vytváří v databázi následující strukturu a kolekce

Aktualizováno uživatelem Petr Hlaváč před asi 4 roky(ů) · 13 revizí