Kamil Nešetřil

Správa a analýza dat o životním prostředí

Uživatelské nástroje

Nástroje pro tento web


Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
cs:tools [21.03.2024] (aktuální) – [Pentaho Server] Kamil Nešetřil
Řádek 1: Řádek 1:
 +====== Využité nástroje =======
 +|[[https://docs.hitachivantara.com/p/pentaho-dia|{{:pentaho-logo.svg?nolink&150|Platforma Pentaho (BI)}}]]   [[cs:cheatsheet|{{:spoon.png?nolink|Pentaho Data Integration (Kettle)}}]]   [[https://www.postgresql.org|{{:logo_postgres.svg?nolink&36|Databáze PostgreSQL}}]] [[https://dbeaver.io|{{:logo_dbeaver.svg?nolink&40|Správce databáze DBeaver}}]] + příp. [[https://www.r-project.org|{{:r_logo.svg?nolink&45|Programovací jazyk R}}]]  [[https://www.qgis.org|{{:qgis-icon32.svg?nolink&36|Geografický informační systém QGIS}}]] [[https://nextcloud.com/|{{:nextcloud.svg?nolink&60|Nextcloud (alternativa k Dropbox, Google Drive či OneDrive)}}]]|
 +
 +HgIS je postaven na přístupech a nástrojích, které se využívají v obchodní informatice (datové sklady, //business intelligence// – **<nowiki>BI</nowiki>**)((//Business intelligence// (<nowiki>BI</nowiki>) je soubor dovedností, znalostí, technologií, aplikací a postupů používaných v podnikání pro získání lepšího pochopení fungování obchodní společnosti pro potřeby manažerského rozhodování. Za tímto účelem provádí sběr, integraci, analýzu, interpretaci a prezentaci firemních dat. Dalšími definicemi je: „Znalosti o podniku získané za pomoci rozličných hardwarových a softwarových technologií, které umožňují organizaci přeměnit data na informace.“ (NOVOTNÝ, Ota, Jan POUR a David SLÁNSKÝ, 2005. //Business intelligence: jak využít bohatství ve vašich datech.// Praha: Grada. Management v informační společnosti. ISBN 80-247-1094-3, s. 18). Běžné funkce aplikací <nowiki>BI</nowiki> zahrnují ETL, uložení všech dat v datovém skladu (//data warehouse//), <nowiki>OLAP</nowiki> (//OnLine Analytical Processing//), reporting, přehledové zobrazení (//dashboard//), analýzy a dolování dat (//data mining//) či automatizovaná hlášení (alerty). Významnou roli hraje zpracování semistrukturovaných dat. S geodaty pracuje //geospatial BI// čili //<nowiki>GeoBI</nowiki>// (obdobné pojmy jsou //location intelligence// a //spatial intelligence//).)), geoinformatice (geografické informační systémy – **<nowiki>GIS</nowiki>**) a hydro­geologii. Stručně řečeno se jedná o //(geo)spatial business intelligence (<nowiki>GeoBI</nowiki>)// pro hydro­geologii. 
 +**Kromě programu EnviroInsite je veškerý níže uvedený software //open source//, což znamená, že je možno jej využívat zdarma pro jakýkoliv účel a je možno jej upravovat.**
 +
 +[[https://docs.hitachivantara.com/p/pentaho-dia|{{  :pentaho-logo.svg?nolink&150|Platforma Pentaho}}]]
 +===== Platforma Pentaho =====
 +> Od té doby, kdy byla firma Pentaho koupena korporací Hitachi, vývoj platformy Pentaho stagnuje a web platformy je zmatený. Původní autor PDI (Matt Casters) vytvořil [[hop>https://hop.apache.org/|Apache Hop]], fork PDI, který má konečně elegantní architekturu a je intenzivně vyvíjen. Transformace PDI je možno do něj importovat.
 +
 +[[pentaho>https://docs.hitachivantara.com/p/pentaho-dia|Platforma Pentaho]] je sada nástrojů pro datové sklady a //business intelligence//.\\ 
 +
 +{{:pba-architecture.jpg?nolink|Komponenty a typické využití Platformy Pentaho}}
 +
 +Obsahuje následující komponenty ([[download>https://www.hitachivantara.com/pentaho/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html|download]]):
 +
 +[[cheatsheet|{{ :spoon.png?nolink|Tahák PDI}}]]
 +
 +==== Pentaho Data Integration ====
 +Pentaho Data Integration (<nowiki>PDI</nowiki>, dříve znám jako Kettle)((Akronym znamená: //Kettle Extraction, Transformation, Transportation and Loading Environment//. Název //Kettle// (anglicky konvice, kotel) byl zdrojem inspirace pro názvy komponent PDI: //Spoon// (lžíce), //Pan// (pánev), //Kitchen// (kuchyně) a //Carte// (jídelní lístek).)) – [[download>https://www.hitachivantara.com/pentaho/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html|download]]. Je to tzv. datová pumpa (ETL). Umožňuje načítat data z nejrůznějších databází, zdrojů (e-mail, lokální počítač, FTP, HTTP) a souborů (MS Excel, MS Access, [[wpcs>CSV]], TXT, [[wpcs>Shapefile|ESRI SHP]], [[wpcs>XML]], [[wpcs>JSON]], [[wpcs>YAML]], [[wpcs>RSS]], [[wpcs>DBase|dBase]], ZIP atd.). Umožňuje data transformovat (normalizace, denormalizace, výpočty, úpravy textových řetězců atd.) a uložit do databáze či souborů (příklad formátů viz výše).
 +
 +V PDI existují dva typy úloh:
 +  - //transformation// (v následujícím textu „transformace“), představuje základní instrukce pro načtení, transformaci a uložení dat či jiný převod dat.
 +  - //job// je nadřazená úloha, která může obsahovat více „transformací“ a další operace – např. kopírování či kontrola souborů a odeslání e-mailu při chybě v transformaci.
 +
 +PDI obsahuje dílčí programy:
 +  * <nowiki>Spoon</nowiki> ({{:pdi.png?linkonly|snímek obrazovky}}) je integrované prostředí pro vývoj, testování a monitorování „transformací“ a jobů – využívá tzv. vizuální programování ([[wp>Visual_programming_language|Visual programming]]).
 +  * Kitchen resp. Pan jsou určeny pro spouštění jobů resp. „transformací“ z příkazové řádky (spouštění na úrovni operačního systému) a
 +  * <nowiki>Carte</nowiki> je server pro spouštění jobů (vzdálené spouštění a paralelizace). Od verze 7.0 však je již možno spouštět vše na serveru Pentaho (PBA).((//In Pentaho 7.0 we merged the servers (no more that nonsense of having a distinct "BA Server" and a "DI Server") and introduced the unified Pentaho Server with a new and great looking experience to connect to it.//))
 +
 +Z hlediska praktické práce s vývojovým prostředím PDI (<nowiki>Spoon</nowiki>) hrají hlavní roli tzv. kroky, pomocí kterých se sestavují „transformace“. Jedná se o prvky, jež mají specifické funkce. Při tvorbě „transformací“ uživatel využívá kroků, které spojuje šipkami (//boxes and arrows//). Ty určují směr, jakým transformace probíhá. K dispozici jsou i kroky, které umožňují použít v „transformaci“ vlastní kód Java, Python, R nebo příkaz SQL. Pokud chcete sami začít používat PDI, pomůže vám náš **[[cheatsheet|tahák]]**.
 +
 +Funkce GIS umožňuje doplněk [[git>atolcd/pentaho-gis-plugins|PDI GIS Plugins]] – geometrii z bodů zadat podle [[https://blog.atolcd.com/une-extension-gis-dans-pentaho-data-integration-5/|screenshotů]]. Existuje [[git>atolcd/hop-gis-plugins|varianta]] pro HOP.
 +
 +PDI funguje také jako rozhraní mezi jednotlivými komponentami platformy Pentaho.
 +==== Pentaho Report Designer ====
 +Pentaho Report Designer (<nowiki>PRD</nowiki>) ([[download>https://www.hitachivantara.com/pentaho/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html|download]]) umožňuje návrh reportů((Reportingem rozumíme tiskové sestavy, analytické tabulky, grafy a přehledy realizované na základě dotazů do databází (Pour et al. 2012). Tyto sestavy je možno zobrazovat ve webovém prohlížeči i stahovat v různých formátech (PDF, RTF, MS Excel). Reportingové vykreslovací jádro je součástí PDI i PBA. Proto je možno zobrazovat reporty online na základě uživatel­ských voleb (výběr objektu, veličiny atd.) na serveru PBA a reporty v definovaných formátech je možno generovat a distribuovat pomocí PDI.)) ({{:profil_prd.png?linkonly|snímek obrazovky}}), jež poté mohou být zobrazovány na aplikačním serveru PBA. Reporty v Pentahu jsou tzv. „banded reports“ (pevně vymezené oblasti). Tip: využívejte vnořené reporty (//subreports//). Zastaralý zdroj v angličtině: [[pentaho>https://www.on-reporting.com|Reporting Tales: Pentaho Reporting Tips and Tricks]].\\
 +
 +> [[https://www.metabase.com/|{{ :metabase.png?nolink&50|}}]] Vývoj Pentaho Reporting stagnuje, takže je má smysl využít alternativy jako je [[javalang>https://www.metabase.com/|Metabase]], s kterou může každý uživatel snadno zobrazovat a analyzovat data. FOSS alternativy v Pythonu, které nejsou tolik nízkoprahové (uživatel píše SQL) jsou [[git>apache/superset/blob/master/README.md|Superset]], případně i [[https://redash.io/|Redash]].
 +
 +==== Pentaho Server ====
 +Pentaho Server (PBA, dříve <nowiki>BI</nowiki> Server, {{:prubeh_server.png?linkonly| snímek obrazovky}}, [[download>https://www.hitachivantara.com/pentaho/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html|download]]) je klíčová komponenta platformy. Umožňuje v uživatel­sky přívětivém prostředí spouštět transformace, datové analýzy, generovat reporty, vytvářet a spouštět přehledová zobrazení (//dashboard//) a je možné je integrovat do dalších aplikací (pomocí REST API). Jeho součástí je aplikační server Apache Tomcat. Není přímo vhodný pro správu souborů a pro předávání souborů se vstupními daty do systému, což by měl umožňovat [[https://dankeeley.wordpress.com/2018/04/13/uploading-files-with-cfr-and-pentaho/|Community File Repository]]. Přehledová zobrazení //(dashboard)// je možno vytvářet za pomoci CDE – více: [[pentaho>https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/CTools|Community Tools (CTools)]] a ([[http://holowczak.com/getting-started-with-pentaho-community-edition-dashboard-editor-cde/|neoficiální Getting Started]]). 
 +{{:schedule.png?nolink|Nastavení pravidelného rozesílání vyexportovaných souborů e-mailem.}}\\ 
 +//Obrázek: PBA – Nastavení pravidelného rozesílání vyexportovaných souborů e-mailem.//
 +==== Pentaho Metadata Editor ====
 +[[pentaho>https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Pentaho_Metadata_Editor|Pentaho Metadata Editor]] vytvoří abstraktní vrstvu nad datovým modelem. Zjednodušuje se tak tvorba tiskových sestav a přehledových zobrazení (//dashboards//) včetně lokalizace. Viz obrázek (vrstvy též: physical, logical and delivery layer): \\
 +{{:01_metadata_domain.png?nolink|}}
 +
 +Alternativou k Pentaho Metadata je [[pentaho>https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/CTools#CDA:_Community_Data_Access|Community Data Access]] (<nowiki>CDA</nowiki>), který může využívat Pentaho Metadata.
 +
 +Nejuniverzálnější alternativou je [[pentaho>https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Pentaho_Data_Services|Pentaho Data Services]] – funguje to jako virtuální tabulka (vyžaduje Pentaho Data Services JDBC driver).
 +
 +Všechny tři alternativy je možné využívat jako datový zdroj mj. pro reporty.
 +====Prostředky využívané platformou Pentaho====
 +  * programovací jazyk [[wpcs>Java_(programovací_jazyk)|Java]]
 +  * webový server [[wpcs>Apache Tomcat|Apache Tomcat]]
 +  * [[wpcs>Java Database Connectivity|JDBC]] – API pro přístup k relačním databázím
 +  * [[wp>Java Naming and Directory Interface|JNDI]] [džindi] – API pro adresářovou službu („abstraktní JDBC“, která však nepodporuje všechny vlastnosti SQL)
 +  * [[foss>https://jackrabbit.apache.org/jcr/index.html|Jackrabbit]]: implementace standardu [[wp>Content repository API for Java]] – zajišťuje uložení souborů ve složkách PBA.
 +  * [[wp>Common Warehouse Metamodel]] – uplatňuje se v Pentaho Metadata – [[doc>https://www.omg.org/spec/CWM|specifikace]]
 +
 +Univerzitní knihovna Technické univerzity v Liberci má sadu nejužitečnějších [[https://knihovna-opac.tul.cz/search?type=global&q=pentaho|knih o platformě Pentaho]]. Je to jediná knihovna v ČR, která má knihy v tištěné formě.
 +
 +Kvalitu platformy demonstruje, že je využívána v jedné z největších výzkumných organizací na světě: [[wpcs>CERN]] – viz [[vid>https://www.hitachivantara.com/en-us/video/cern-accelerates-business-computing-with-pentaho.html|video]].
 +
 +[[https://www.postgresql.org|{{  :logo_postgres.svg?nolink&55|PostgreSQL (homepage)}}]]
 +===== PostgreSQL / PostGIS =====
 +[[wpcs>PostgreSQL]] je databázový server (systém řízení báze dat). Pro administraci databáze používáme  [[foss>https://dbeaver.io|DBeaver]], který navíc dokáže zobrazovat [[map>https://dbeaver.com/docs/dbeaver/Working-with-Spatial-GIS-data/|prostorová data]].
 +
 +[[http://postgis.net|{{  :postgis_stock_elephant_060.gif?nolink&45|PostGIS (homepage)}}]]
 +[[wpcs>PostGIS]] je prostorové rozšíření databáze PostgreSQL, který tedy umožňuje ukládat prostorová data (geodata, geografická data) jako jsou body, linie, polygony a rastry v různých souřadnicových systémech (prostorová databáze čili geoprostorová databáze). K PostGIS můžou snadno přistupovat GIS (např. ArcGIS, QGIS), které mohou uložená data nejen zobrazovat. PostGIS implementuje standard pro uchovávání geodat – mezinárodní standard organizace Open Geospatial Consortium((//ISO 19125-2:2004 Geographic information – Simple feature access.// Z něj vychází norma definující jazyk SQL //(ISO/IEC 9075)//, která je doplněna normou //ISO/IEC 13249 <nowiki>SQL</nowiki> Multimedia and Application Packages//, jejíž třetí část obsahuje specifikace práce s prostorovými daty //ISO/IEC 13249-3 (2011)// )). Využívání standardů umožňuje snadněji provádět (např. pomocí dotazu SQL) prostorové úlohy((Například nalezení vrtů v obci ve vzdálenosti 50 m od vodního toku, kde vstupem jsou souřadnice vrtů a prostorový rozsah vodního toku a obcí.)) V HgIS je využíván PostGIS v samostatném databázovém schématu bez jinak striktně definovaného datového modelu.
 +
 +[[https://www.qgis.org|{{  :qgis-icon32.svg?nolink&32|QGIS}}]]
 +===== QGIS =====
 +[[qgis>https://www.qgis.org|QGIS]] je geografický informační systém umožňující pracovat s prostorovými daty včetně dat, která jsou uložena v PostGIS. Pro publikaci prostorových dat kromě samotných bodů je možné využít mapový server. Zobrazení dat z bodových objektů (např. vrty, studny) je možné přímo v GIS či ve online mapové aplikaci ({{:mapap1.png?linkonly|snímek obrazovky}}). V rámci HgIS využí­váme mapový server [[qgis>https://training.gismentors.eu/qgis-pokrocily/ruzne/qgisserver.html|QGIS Server]]. Zdrojem dat pro něj může být například prostorová databáze (např. PostGIS), georeferencované rastry (např. JPG – tzv. //world file//), soubory s geodaty (ESRI SHP, KML, GML atd.). Výstupy z mapového serveru mohou být publiko­vány pomocí standardizovaných služeb, jako jsou např. WMS (obrázky), WFS (vektory), WCS (rastry). Ty mohou být zobrazeny v desktopovém GISu (QGIS) či začleněny do online mapové aplikace. Publikace dat pomocí webových služeb je jednou z forem naplnění směrnice INSPIRE.
 +
 +[[https://earthsoft.com/enviroinsite/|{{  :logoei.png?nolink|EnviroInsite – homepage}}]]
 +===== EnviroInsite =====
 +Pro pokročilou vizualizaci hydro­geologických dat využíváme((Alternativou je například HydroGeoAnalyst či RockWorks, který je dražší a má výhody (více funkcí, podpora puklin, zlomů) i nevýhody (méně intuitivní uživatelské prostředí). EnviroInsite může být snáze použit na uživatel­ských stanicích, kde může sloužit pro zcela flexibilní zobrazování hydro­geologických dat koncovým uživatelem. RockWorks má na druhou stranu funkce, jež by mohly být využity specialistou např. komplexnější geologické modelování.)) software [[https://earthsoft.com/enviroinsite/|EnviroInsite]]. Jedná se o cenově dostupný komerční program implementovaný v .NET. Export do EnviroInsite podporují EDMS EQuIS, Enviro Data a EPIPHINY. Vyvíjí jej firma <nowiki>EI</nowiki> LLC. Reálně se jedná o jednu osobu (Bruce Jacobs), která zajišťuje vývoj, podporu a částečně prodej. Software je velmi flexibilní a dokáže zobrazovat veškerá hydro­geologická data. Práce s ním je intuitivní. Jeho cílem je, aby potřebnou vizualizaci dat mohl běžně provádět sám hydro­geolog a nepotřeboval k tomu specialistu GIS. Program zobrazuje data z databáze s danou strukturou. Databáze může být implementována v programu MS Access či MS Excel. Vlastní projekt je uložen v souboru XML. Software zobrazuje dokumentaci jednotlivých vrtů, stratigrafická schémata ({{:strat_schema_online.png?linkonly|snímek obrazovky}}), geologické řezy ({{:rez.png?linkonly|snímek obrazovky}}), 3D vizualizaci geologie, mapy, chemické interpretační grafy (Piper, Stiff, Schoeller) umístěné na mapě nebo na samostatném listu. Obdobně zobrazuje souhrnné i detailní tabulky; grafy a tabulky časových řad. Umožňuje export pro zobrazení na webu ((S využitím JavaScriptu – jQuery. Starý web: ''program-features/web-control'')). Software interpoluje data ve 2D i 3D a je možno do něj načíst běžné formáty podkladových map (ESRI SHP, DXF, DWG, DGN, rastrové obrázky – //world file//). EnviroInsite exportuje georeferencované vektory (DXF, DWG, ESRI SHP) i rastry (//world file//). Výsledky je možno vyexportovat např. jako EMF a zobrazit např. v ArcGIS ({{:to_arc_map_via_emf.mp4?linkonly|video}}). Na [[https://earthsoft.com/enviroinsite/|domovských stránkách EI]] jsou screenshoty a názorné videotutoriály.
 +
 +> FIXME Firma vyvíjející EI byla koupena firmou vyvíjející EQuIS (EarthSoft), která dále [[info>https://earthsoft.com/2017/10/10/earthsoft-announces-enviroinsite-acquisition-and-contract-with-dr-bruce-jacobs/|neplánuje]] vyvíjet samostatný EI.((//"EarthSoft will release new versions of the desktop EnviroInsite in EQuIS Professional, but does not currently plan to release new versions of non-EQuIS versions of EnviroInsite."//)) Proto EI nahradíme pravdě­podobně programem [[https://www.bgs.ac.uk/technologies/software/groundhog/|Groundhog Desktop]] od Britské geologické služby ([[doc>https://britishgeologicalsurvey.github.io/Groundhog/#/?id=introduction|dokumentace]]), jehož vývoj byl ukončen v roce 2022; případně QGISem s doplňkem [[git>jkall/qgis-midvatten-plugin|{{:midvatten.png?nolink|Midvatten}}]] [[git>jkall/qgis-midvatten-plugin|Midvatten]].((Alternativa [[http://www.freewat.eu/software-0|FREEWAT]] ([[info>https://www.metcenas.cz/freewat|informace v češtině]]) je opuštěný projekt, který vyžaduje staré verze programů (QGIS 2 a Python 2).))
 +
 +[[https://www.zotero.org|{{  :zotero.svg?nolink&70|Zotero}}]]
 +===== Bibliografický manažer Zotero =====
 +Pro systematické uložení zejména publikací (a doku­mentů) je možné používat bibliografickou databázi obsahující plné texty i metadata. Je tak možno publikace uchovávat, sdílet online, spravovat a vytvářet citace. Vše je zadáváno včetně metadat, a knihovna je tak přehledná, i když s ní pracuje větší počet uživatelů. Využíváme bibliografický manažer [[foss>https://www.zotero.org|Zotero]]. Zotero je využíváno na Technické univerzitě v Liberci pro vědu i výuku. Ve firemním prostředí může být vhodnější využití systémů pro [[wpcs>Správa_dokumentů|správu dokumentů]]. [[:it:mtd:zotero|Výukový materiál o Zoteru]].
 +
 +[[https://www.r-project.org|{{ :r_logo.svg?nolink&40R}}]]
 +===== R a Python =====
 +Pro pokročilou analýzu dat a vizualizaci je využíván jazyk [[foss>https://www.r-project.org|R]] a to včetně tvorby online aplikací ([[r>https://shiny.posit.co/|Shiny]]) – viz [[tul>http://msp-r.mti.tul.cz|naše příklady]].
 +Další pokročilé nástroje (zejm. GIS) jsou integrovány za pomoci jazyka Python. \\ \\
 +
 +===== Zdroje =====
 +**[[rss|Aktuality]] ([[rss|{{:rss16.png?nolink|}}]]) a [[library|literatura]] o výše uvedených technologiích a nástrojích.**