K čemu projekt slouží?
R Targets workflow který stahuje data z portálu CUZK.
Jak skript funguje?
Tvoří se nějaké důležité proměnné podle jaké speciální logiky?
Parametry jsou managed pomocí {config}
Skript je složený z několika month_
funkcí, které jsou po sobě logicky
volány v Targets workflow. Postup zpracování je následující:
- stažení .zip souboru s daty a rozbalení do .csv
- spojení všech .csv souboru do jedné tabulky reprezentující měsíc v daném roce
- spojení všech tabulek přes měsíce a roky do jedné historické tabulky
Finální historická tabulka sleduje to, jak se v čase měnili proměnné.
Pokud nějaké adresní místo změnil např. do 2022-05-05, v datech to bude
reprezentováno pomocí sloupečků plati_od
a plati_do
kod_adm | plati_od | plati_do |
---|---|---|
1234 | 2022-05-06 | 2024-07-31 |
1234 | 2013-01-01 | 2022-05-05 |
Data ve sloupečku plati_do
se generují manuálně. U posledního
(nejnovějšího) záznamu je v plati_do
datum, kdy se naposledy dané
adresní místo vyskytovalo v datech od CUZK. Pokud se tedy adresní místo
přestalo vykazovat na konci listopadu 2021 (v tomto měsíci se naposledy
v datech vyskytl kod_adm
), sloupec plati_do
bude 2021-11-30. Ve
většině případů to ale bude poslední datum, které je staženo.
Jaké relevantní složky jsou v projekty?
Jsou tvořené automaticky? (✍️ - manuálně, 🤖 - automaticky)
- ✍️
R/
- všechny hlavní funkce - 🤖
data_downloaded/
- stáhnutá data z CUZK ve formátudata_downloaded/rok/mesic/rok-mesic-01.zip
- hlavní stažená data
Jak kód spustit?
Co je hlavní (startovací) skript?
Je nutné něco před tím stáhnout?
Jsou nějaké problémy na které lze narazit?
Pro spuštění kódu stačí nakolonvat repositář a spustit v R konzoli
targets::tar_make()
.
Občas se může stát, že skript spadne při stahování dat z CUZK, protože
dostanete timeout. V takovém případě stačí znovu spustit
targets::tar_make()
a skript se restartuje v bodě, kde přestal.
Problém se snažím řešit pomocí Sys.sleep(1)
, aby server nebyl tolik
zatížený, ale nefunguje to vždy.
Jsou data divná?
Existují nějaké nekonzistence?
Zdrojová data v čase mění svou strukturu. První změna nastává mezi říjnem a listopadem v r. 2017 (tedy mezi 2017-10 a 2017-11), kdy
- je přidaná proměnná
kod_momc
, - přidaná proměnná
kod_obvodu_prahy
, a - přidaná proměnná
kod_ulice
.
Druhá změna je na přelomu roku 2020/2021 (tedy mezi 2020-12 a 2021-1), kdy jsou přejmenované dvě proměnné.
kod_mop
->kod_obvodu_prahy
nazev_mop
->nazev_obvodu_prahy
Všechna data zaberou min. 50Gb.