{"id":95283,"date":"2020-09-27T19:42:23","date_gmt":"2020-09-27T17:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah"},"modified":"2020-09-27T19:42:23","modified_gmt":"2020-09-27T17:42:23","slug":"primenenie-low-code-v-analiticheskih-platformah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","title":{"rendered":"Primjena low-code rje\u0161enja u analiti\u010dkim platformama","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po\u0161tovani \u010ditatelji, dobar dan!<\/p>\n<p>Izgradnja IT platformi za prikupljanje i analizu podataka \u0440\u0430\u043d\u043e ili \u043f\u043e\u0437\u0434\u043d\u043e postaje izazov za svaku kompaniju \u010diji je poslovni model zasnovan na intelektualno zahtjevnim uslugama ili stvaranju tehni\u010dki slo\u017eenih proizvoda. Izgradnja analiti\u010dkih platformi je slo\u017een i radno intenzivan zadatak. Me\u0111utim, svaki problem se mo\u017ee pojednostaviti. U ovom \u010dlanku \u017eelim podijeliti iskustvo kori\u0161tenja low-code alata koji poma\u017eu u stvaranju analiti\u010dkih rje\u0161enja. Ovo iskustvo ste\u010deno je realizacijom niza projekata unutar Big Data Solutions odjela kompanije \u201eNeoflex\u201c. Big Data Solutions odjel kompanije \u201eNeoflex\u201d se od 2005. godine bavi pitanjima izgradnje skladi\u0161ta i jezera podataka, rje\u0161ava probleme optimizacije brzine obrade informacija i radi na metodologiji upravljanja kvalitetom podataka.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNiko ne mo\u017ee izbje\u0107i svjesno prikupljanje slabih i\/ili jakih strukturiranih podataka. \u010cak ni mali biznis. Kada do\u0111e do skaliranja biznisa, perspektivni poduzetnik \u0107e se suo\u010diti s pitanjima razvoja programa lojalnosti, \u017eeljet \u0107e proanalizirati u\u010dinkovitost prodajnih mjesta, razmi\u0161ljat \u0107e o ciljanom ogla\u0161avanju i razmi\u0161ljat \u0107e o potra\u017enji za prate\u0107im proizvodima. U prvom pristupu problem se mo\u017ee rije\u0161iti \u201ena koljenima\u201c. No, s rastom biznisa, dolazak na analiti\u010dku platformu postaje neizbje\u017ean.<\/p>\n<p>Ali kada se problemi analize podataka mogu pretvoriti u zadatke klase \u201eRocket Science\u201d? Mo\u017eda u trenutku kada se radi o stvarno velikim podacima.<br \/>\nDa biste pojednostavili zadatak \u201eRocket Science\u201d, mo\u017eete jesti slona po dijelovima. <\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/f81e7704b91a5b95303e4240d6012730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0160to su ve\u0107a diskretnost i autonomnost va\u0161ih aplikacija\/usluga\/mikroservisa, to \u0107e vama, va\u0161im kolegama i cijelom biznisu biti lak\u0161e probaviti slona.<\/p>\n<p>Do ovog su postulata do\u0161li gotovo svi na\u0161i klijenti, preoblikovaju\u0107i krajolik na temelju in\u017eenjerskih praksi DevOps timova.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAli \u010dak i uz \u201eodvojenu, slonovsku\u201d dijetu imamo dobre \u0161anse za \u201epreoptere\u0107enje\u201d IT krajolika. U ovom trenutku vrijedi stati, duboko udahnuti i pogledati prema <b>low-code engineering platform<\/b>.<\/p>\n<p>Mnogi developeri se boje mogu\u0107nosti da zapadnu u karijerni zastoj kada pre\u0111u s direktnog kodiranja na \"prevla\u010denje\" elemenata u UI su\u010deljima low-code sistema. Me\u0111utim, pojava ma\u0161ina nije dovela do nestanka in\u017eenjera, ve\u0107 je podigla njihov rad na novi nivo!<\/p>\n<p>Hajde da istra\u017eimo za\u0161to.<\/p>\n<p>Analiza podataka u oblasti logistike, telekomunikacijske industrije, u medijskim istra\u017eivanjima, u finansijskom sektoru, uvek je povezana sa slede\u0107im pitanjima: <\/p>\n<ul>\n<li>Brzina sprovo\u0111enja automatizovane analize;<\/li>\n<li>Mogu\u0107nost sprovo\u0111enja eksperimenata bez uticaja na osnovni tok proizvodnje podataka;<\/li>\n<li>Poverljivost pripremljenih podataka;<\/li>\n<li>Pra\u0107enje promena i verzionisanje;<\/li>\n<li>Data provenance, Data lineage, CDC;<\/li>\n<li>Brzina isporuke novih funkcionalnosti na produkciono okru\u017eenje;<\/li>\n<li>I prokleta: cena razvoja i podr\u0161ke.<\/li>\n<\/ul>\n<p>\nTo jest, in\u017eenjeri imaju ogroman broj visok nivoa zadataka, koje je mogu\u0107e ispuniti sa dovoljno efikasnosti samo ako oslobode svoju svest od nisko nivo razvojnih zadataka.<\/p>\n<p>Osnovni uzroci prelaska developera na novi nivo su evolucija i digitalizacija poslovanja. Vrednost developera se tako\u0111e menja: postoji zna\u010dajan nedostatak developera koji mogu zaroniti u su\u0161tinu koncepta automatizovanog poslovanja.<\/p>\n<p>Hajde da napravimo analo\u0161ki sa nisko i visok nivo programskim jezicima. Prelazak s nisko nivo jezika ka visok nivo je prelazak od pisanja \"direktiva na jeziku hardvera\" ka \"direktivama na jeziku ljudi\". To jest, dodavanje nekog sloja apstrakcije. U tom slu\u010daju, prelazak na low-code platforme sa visok nivo programskih jezika je prelazak od \"direktiva na jeziku ljudi\" ka \"direktivama na jeziku poslovanja\". Ako se na\u0111u developeri kojih \u0107e ovaj \u010din rastu\u017eiti, tada su mo\u017eda tu\u017eniji jo\u0161 od trenutka kada je JavaScript postao popularan, gde se koriste funkcije za sortiranje nizova. I te funkcije, naravno, imaju pod haubom softversku implementaciju drugim sredstvima tog istog visokog nivo programiranja.<\/p>\n<p><b>Stoga, low-code je samo pojava jo\u0161 jednog nivoa apstrakcije. <\/b><\/p>\n<h2>Prakti\u010dno iskustvo kori\u0161\u0107enja low-code<\/h2>\n<p>\nTema low-code je dovoljno \u0161iroka, ali bih sada \u017eeleo govoriti o prakti\u010dnoj primeni 'malokodnih koncepata' na primeru jednog od na\u0161ih projekata.<\/p>\n<p>Odjeljenje Big Data Solutions kompanije 'Neoflex' se u najve\u0107oj meri specijalizuje za finansijski sektor, grade\u0107i skladi\u0161ta i jezera podataka i automatizuju\u0107i razne izve\u0161taje. U ovoj ni\u0161i primena low-code-a odavno je postala standard. Me\u0111u drugim low-code alatima mo\u017ee se pomenuti sredstva za organizaciju ETL procesa: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Tako\u0111e, Oracle Apex, koji slu\u017ei kao okru\u017eenje za brzu izradu interfejsa za pristup i ure\u0111ivanje podataka. Me\u0111utim, primena malokodnih alata za razvoj nije uvek povezana sa izgradnjom specifi\u010dnih aplikacija na komercijalnom tehnolo\u0161kom skupu sa jasno izra\u017eenom zavisno\u0161\u0107u od dobavlja\u010da.<\/p>\n<p>Uz pomo\u0107 low-code platformi tako\u0111er se mogu organizovati orkestracije tokova podataka, kreirati data-science platforme ili, na primer, moduli za proveru kvaliteta podataka. <\/p>\n<p>Jedan od prakti\u010dnih primera kori\u0161\u0107enja malokodnih alata za razvoj je saradnja 'Neoflex-a' sa kompanijom Mediascope, jednim od lidera na ruskom tr\u017ei\u0161tu istra\u017eivanja medija. Jedan od poslovnih ciljeva ove kompanije je proizvodnja podataka, na osnovu kojih ogla\u0161iva\u010di, internet platforme, televizijske mre\u017ee, radio stanice, reklamne agencije i brendovi donose odluke o kupovini reklame i planiraju svoje marketin\u0161ke komunikacije. <\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMedijska istra\u017eivanja su tehnolo\u0161ki zahtevna oblast poslovanja. Prepoznavanje video sadr\u017eaja, prikupljanje podataka sa ure\u0111aja koji analiziraju gledanost, merenje aktivnosti na veb resursima - sve to podrazumeva da kompanija ima veliki IT tim i kolosalno iskustvo u izgradnji analiti\u010dkih re\u0161enja. Me\u0111utim, eksponencijalni rast koli\u010dine informacija, broja i raznolikosti izvora tera IT industriju podataka na stalni napredak. Najjednostavnije re\u0161enje za skaliranje ve\u0107 funkcionalne analiti\u010dke platforme Mediascope moglo bi biti pove\u0107anje IT osoblja. No, daleko efikasnije re\u0161enje je ubrzanje procesa razvoja. Jedan od koraka ka ovom cilju mo\u017ee biti primena low-code platformi.<\/p>\n<p>U trenutku pokretanja projekta, tvrtka je ve\u0107 imala funkcionalno proizvodno rje\u0161enje. Me\u0111utim, implementacija rje\u0161enja na MSSQL nije mogla u potpunosti zadovoljiti o\u010dekivanja u pogledu skalabilnosti funkcionalnosti uz odr\u017eavanje prihvatljive cijene dorade.<\/p>\n<p>Zadatak pred nama bio je zaista ambiciozan \u2013 'Neoflex' i Mediascope trebali su stvoriti industrijsko rje\u0161enje za manje od godine dana, uz uvjet da MVP izlazi ve\u0107 tijekom prvog kvartala od datuma po\u010detka rada.<\/p>\n<p>Kao temelj za izgradnju nove platforme podataka, temeljene na low-code ra\u010dunalstvu, odabran je Hadoop tehnolo\u0161ki skup. Standard za pohranu podataka postao je HDFS uz kori\u0161tenje datoteka formata parquet. Za pristup podacima unutar platforme kori\u0161ten je Hive, u kojem su svi dostupni izlozi predstavljeni kao vanjski trenuci. U\u010ditavanje podataka u skladi\u0161te realizirano je uz pomo\u0107 Kafke i Apache NiFi.<\/p>\n<p>Low-code alat u ovoj koncepciji kori\u0161ten je za optimizaciju najradno intenzivnijeg zadatka u izgradnji analiti\u010dke platforme \u2013 zadatka izra\u010duna podataka.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/fe62234ab0ae611a0c4a536ca68af898.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGlavni mehanizam za mapiranje podataka bio je odabran kao low-code alat Datagram. <b>Neoflex Datagram<\/b> je sredstvo za razvoj transformacija i tokova podataka. <br \/>\nPrimjenom ovog alata, mogu\u0107e je zaobi\u0107i ru\u010dno pisanje koda na Scali. Scala kod se automatski generira kori\u0161tenjem pristupa Model Driven Architecture.<\/p>\n<p>O\u010digledna prednost ovakvog pristupa je ubrzanje procesa razvoja. Me\u0111utim, osim brzine, postoje i sljede\u0107e prednosti: <\/p>\n<ul>\n<li>Pregled sadr\u017eaja i strukture izvora\/prijemnika;<\/li>\n<li>Pra\u0107enje podrijetla objekata toka podataka do pojedinih polja (lineage);<\/li>\n<li>Djelomi\u010dno izvr\u0161avanje transformacija s pregledom me\u0111urezultata;<\/li>\n<li>Pregled izvorne koda i njegova korekcija prije izvr\u0161enja;<\/li>\n<li>Automatska validacija transformacija;<\/li>\n<li>Automatsko u\u010ditavanje podataka 1 na 1.<\/li>\n<\/ul>\n<p>\nPrag ulaska u low-code rje\u0161enja za generiranje transformacija je prili\u010dno nizak: programer treba znati SQL i imati iskustva s ETL alatima. Treba napomenuti da generatori transformacija vo\u0111eni kodom nisu ETL alati u \u0161irokom smislu te rije\u010di. Low-code alati mo\u017eda nemaju vlastito okru\u017eenje za izvr\u0161avanje koda. To zna\u010di da \u0107e generirani kod biti izvr\u0161en u onom okru\u017eenju koje je ve\u0107 postojalo na klasteru prije instalacije low-code rje\u0161enja. I to je, mo\u017eda, jo\u0161 jedna prednost za low-code. Naime, paralelno s low-code timom mo\u017ee raditi \u201eklasi\u010dni\u201c tim koji implementira funkcionalnost, na primjer, u \u010distom Scala kodu. Uvo\u0111enje izmjena od strane oba tima u produkciju \u0107e biti jednostavno i \u201ebesprijekorno\u201c.<\/p>\n<p>Mo\u017eda bi trebalo napomenuti da uz low-code postoje i no-code rje\u0161enja. I su\u0161tinski, to su razli\u010dite stvari. Low-code u ve\u0107oj mjeri omogu\u0107ava programeru da intervenira u generirani kod. U slu\u010daju Datagram mo\u017ee se pregledati i ure\u0111ivati generirani Scala kod, dok no-code mo\u017eda ne\u0107e pru\u017eiti tu mogu\u0107nost. Ova razlika je zna\u010dajna ne samo u pogledu fleksibilnosti rje\u0161enja, ve\u0107 i u pogledu udobnosti i motivacije rada data in\u017eenjera. <\/p>\n<h2>Arhitektura rje\u0161enja<\/h2>\n<p>\nPoku\u0161ajmo razumjeti kako to\u010dno low-code alat poma\u017ee u rje\u0161avanju problema optimizacije brzine razvoja funkcionalnosti za izra\u010dun podataka. Prvo \u0107emo razmotriti funkcionalnu arhitekturu sustava. U ovom slu\u010daju, primjer predstavlja model proizvodnje podataka za medijska istra\u017eivanja.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/365f1b1cf69bf2a71854eb05c5bba809.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Izvori podataka u na\u0161em slu\u010daju su prili\u010dno raznoliki i raznovrsni:<\/b><\/p>\n<ul>\n<li>Peoplemeters (TV meters) are software and hardware devices that read user behavior from respondents of a television panel - who, when, and which TV channel was watched in the household participating in the study. The information provided is a stream of viewing intervals linked to the media package and media product. The data at the stage of loading into the Data Lake can be enriched with demographic attributes, geographical ties, time zones, and other information necessary for analyzing the viewership of a specific media product. The measurements taken can be used for analysis or planning of advertising campaigns, assessing audience activity and preferences, and creating broadcast schedules.<\/li>\n<li>Data can come from monitoring systems of streaming television and measuring content viewership on online video resources.<\/li>\n<li>Measuring tools in the web environment, including both site-centric and user-centric counters. A research bar browser extension and a mobile application with built-in features can serve as data providers for the Data Lake. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/vpn\/\"   title=\"VPN\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"133\">VPN<\/a>.<\/li>\n<li>Data can also be sourced from platforms that consolidate the results of online surveys and outcomes of telephone interviews in the company's survey research.<\/li>\n<li>Additional enrichment of the data lake can occur by uploading information from the logs of partner companies.<\/li>\n<\/ul>\n<p>\nThe implementation of as-is loading from source systems into the primary staging of raw data can be organized in various ways. When using low-code for this purpose, automatic generation of loading scripts based on metadata is possible. In this case, it is not necessary to delve into the development of source-to-target mappings. To implement automatic loading, we need to establish a connection with the source, after which we determine in the loading interface the list of entities to be loaded. The creation of directory structures in HDFS will occur automatically and correspond to the data storage structure in the source system.<\/p>\n<p>However, in the context of this project, we decided not to use this low-code platform capability because the company Mediascope has already independently begun working on creating a similar service using the Nifi + Kafka combination.<\/p>\n<p>Odmah je potrebno naglasiti da su ovi alati ne me\u0111usobno zamjenjivi, ve\u0107 su vi\u0161e komplementarni. Nifi i Kafka mogu raditi kako u izravnoj (Nifi -&gt; Kafka), tako i u obrnutoj (Kafka -&gt; Nifi) vezi. Za platformu medijskih istra\u017eivanja kori\u0161tena je prva varijanta veze.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/8284ef5bd6d3b947998ffd42bfb66dbd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nU na\u0161em slu\u010daju, Nifi je trebao obra\u0111ivati razli\u010dite vrste podataka iz izvora i slati ih brokeru Kafka. U tom procesu usmjeravanje poruka u odre\u0111enu Kafka temu vr\u0161i se kori\u0161tenjem Nifi procesora PublishKafka. Orkestracija i odr\u017eavanje ovih pipelineova odvijaju se u vizualnom su\u010delju. Alat Nifi i kori\u0161tenje kombinacije Nifi + Kafka tako\u0111er se mo\u017ee nazvati low-code pristupom razvoju, s niskim pragom ulaska u tehnologije Big Data i ubrzavaju\u0107i proces razvoja aplikacija. <\/p>\n<p>Sljede\u0107a faza u realizaciji projekta bila je uskla\u0111ivanje sa formatom jedinstvenog semanti\u010dkog sloja detaljnih podataka. U slu\u010daju da entitet ima povijesne atribute, izra\u010dun se izvodi u kontekstu razmatrane particije. Ako entitet nije povijesni, opcionalno je mogu\u0107 ili ponovni izra\u010dun cijelog sadr\u017eaja objekta, ili potpuno odbijanje ponovnog izra\u010duna tog objekta (uslijed nedostatka promjena). U ovoj fazi generiraju se klju\u010devi za sve entitete. Klju\u010devi se pohranjuju u odgovaraju\u0107e master-objekte referentne HBase, koje sadr\u017ee uskla\u0111enost izme\u0111u klju\u010deva u analiti\u010dkoj platformi i klju\u010deva iz izvora. Konsolidacija atomarnih entiteta prati se oboga\u0107ivanjem rezultatima preliminarnog izra\u010duna analiti\u010dkih podataka. Framework za izra\u010dun podataka bio je Spark. Opisani funkcionalnost uskla\u0111ivanja podataka na jedinstvenu semantiku tako\u0111er je implementirana na temelju mapiranja low-code alata Datagram.<\/p>\n<p>U ciljnoj arhitekturi bilo je potrebno osigurati SQL pristup podacima za poslovne korisnike. Za ovu opciju kori\u0161ten je Hive. Registracija objekata u Hive vr\u0161i se automatski prilikom uklju\u010divanja opcije 'Registr Hive Table' u low-code alatu.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/a13f7260d067d3d21b7090bd8fa10aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Upravljanje tokom izra\u010duna<\/h2>\n<p>\nDatagram ima su\u010delje za izradu dizajna radnih tokova. Pokretanje mapiranja mo\u017ee se obaviti pomo\u0107u Oozie planera. U su\u010delju programera radnih tokova mogu\u0107e je kreirati sheme paralelnog, sekvencijalnog ili uvjetno zavisnog izvr\u0161avanja transformacija podataka. Podr\u0161ka za shell skripte i java programe je dostupna. Tako\u0111er je mogu\u0107e koristiti <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/server\/dts-los-angeles\/\"   title=\"poslu\u017eitelja\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3662\">poslu\u017eitelja<\/a> Apache Livy. Apache Livy se koristi za pokretanje aplikacija izravno iz razvojnog okru\u017eenja. <\/p>\n<p>U slu\u010daju da tvrtka ve\u0107 ima vlastiti orkestrator procesa, mogu\u0107e je koristiti REST API za ugradnju mapiranja u ve\u0107 postoje\u0107i tok. Na primjer, imali smo prili\u010dno uspje\u0161no iskustvo ugra\u0111ivanja mapiranja na Scala-u u orkestratore napisane u PLSQL-u i Kotlinu. REST API low-code alata podrazumijeva prisutnost operacija kao \u0161to su generiranje izvr\u0161nog objekta na temelju dizajna mapiranja, pozivanje mapiranja, pozivanje sekvencije mapiranja i, naravno, prijenos parametara putem URL-a za pokretanje mapiranja.<\/p>\n<p>Uz Oozie, mogu\u0107e je organizirati tok izra\u010duna pomo\u0107u Airflow-a. Ne\u0107u se dugo zadr\u017eavati na usporedbi Oozie i Airflow-a, ve\u0107 \u0107u re\u0107i da je u kontekstu rada na projektu medijskih istra\u017eivanja izbor pao na Airflow. Glavni argumenti za ovaj izbor su aktivnija zajednica koja razvija proizvod i naprednije su\u010delje + API.<\/p>\n<p>Airflow je tako\u0111er dobar jer se za opisivanje procesa izra\u010duna koristi mnogima omiljeni Python. Uop\u0107e, platformi za upravljanje radnim tokovima s otvorenim izvorom nema mnogo. Pokretanje i pra\u0107enje izvr\u0161enja procesa (uklju\u010duju\u0107i Ganttove dijagrame) samo dodaje bodove u korist Airflow-a. <\/p>\n<p>Format konfiguracijske datoteke za pokretanje mapiranja low-code rje\u0161enja postao je spark-submit. Do toga je do\u0161lo iz dva razloga. Prvo, spark-submit omogu\u0107uje izravno pokretanje jar datoteke iz konzole. Drugo, mo\u017ee sadr\u017eavati sve potrebne informacije za konfiguraciju radnog toka (\u0161to olak\u0161ava pisanje skripti koje formiraju Dag).<br \/>\nNaj\u010de\u0161\u0107e kori\u0161teni element radnog toka Airflow u na\u0161em slu\u010daju postao je SparkSubmitOperator.<\/p>\n<p>SparkSubmitOperator omogu\u0107uje pokretanje jar datoteka \u2014 pakiranih mapiranja Datagram s prethodno definiranim ulaznim parametrima.<\/p>\n<p>Va\u017eno je napomenuti da se svaki zadatak Airflowa izvr\u0161ava u posebnoj niti i ni\u0161ta ne zna o drugim zadacima. Zbog toga se me\u0111usobna interakcija izme\u0111u zadataka ostvaruje pomo\u0107u kontrolnih operatora, kao \u0161to su DummyOperator ili BranchPythonOperator.<\/p>\n<p>Kombinacija kori\u0161tenja low-code rje\u0161enja Datagram uz univerzalizaciju konfiguracijskih datoteka (koje oblikuju Dag) dovela je do zna\u010dajnog ubrzanja i pojednostavljenja procesa razvoja tokova za u\u010ditavanje podataka.<\/p>\n<h2>Izra\u010dun vitrina<\/h2>\n<p>\nBez sumnje, najinteligentnije optere\u0107enje u proizvodnji analiti\u010dkih podataka je korak u izgradnji vitrina. U kontekstu jednog od tokova izra\u010duna podataka istra\u017eiva\u010dke tvrtke, u ovoj fazi dolazi do dovod\u0111enja u referentnu transkripciju uzimaju\u0107i u obzir korekciju vremenskih zona vezano uz mre\u017eu emitiranja. Tako\u0111er je mogu\u0107e prilagoditi lokalnu etersku mre\u017eu (lokalne vijesti i oglasi). Osim toga, u ovom koraku vr\u0161i se analiza intervala neprekidnog gledanja medijskih proizvoda temeljem analize intervala gledanja. Tu se tako\u0111er vr\u0161i<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/b5f90f7d1d95c97c9819218aab9079c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOdvojeni korak pripreme vitrina je validacija podataka. Algoritam validacije povezan je s primjenom niza matemati\u010dkih znanstvenih modela. Me\u0111utim, kori\u0161tenje low-code platforme omogu\u0107ava razbijanje slo\u017eenog algoritma na niz odvojenih vizualno \u010ditljivih mapiranja. Svako od mapiranja izvr\u0161ava usku zada\u0107u. Tako se omogu\u0107ava posredna debagiranje, logiranje i vizualizacija faza pripreme podataka. <\/p>\n<p>Odlu\u010deno je da se algoritam validacije diskretizira na sljede\u0107e podfaze:<\/p>\n<ul>\n<li>Izgradnja regresija zavisnosti gledanja televizijskih mre\u017ea u regiji sa gledanjem svih mre\u017ea u regiji u proteklih 60 dana. <\/li>\n<li>Izra\u010dun stjulziranih ostataka (odstupanja stvarnih vrijednosti od predvi\u0111enih regresijskim modelom) za sve to\u010dke regresije i za prora\u010dunski dan.<\/li>\n<li>Odabir anomalnih parova regija-televizijska mre\u017ea, gdje stjulzirani ostatak prora\u010dunskog dana prema\u0161uje normu (dohva\u0107enu pode\u0161avanjem operacije).<\/li>\n<li>Prebrojavanje prilago\u0111enog studentiziranog ostatka po anomalnim parovima regija-televizija za svakog ispitanika koji je gledao mre\u017eu u regiji s odre\u0111enjem doprinosa tog ispitanika (promjena u studentiziranom ostatku) uz isklju\u010denje gledanja tog ispitanika iz uzorka.<\/li>\n<li>Tra\u017eenje kandidata \u010dije isklju\u010denje dovodi studentizirani ostatak obra\u010dunskog dana u normu. <\/li>\n<\/ul>\n<p>\nGore navedeni primjer potvr\u0111uje hipotezu da data in\u017eenjer uistinu ima previ\u0161e toga u glavi\u2026 I, ako je to zaista \"in\u017eenjer\", a ne \"koder\", strah od profesionalne degradacije pri kori\u0161tenju low-code alata trebao bi kona\u010dno nestati.<\/p>\n<h2>\u0160to jo\u0161 mo\u017ee low-code?<\/h2>\n<p>\nPodru\u010dje primjene low-code alata za serijsku i streaming obradu podataka bez potrebe za ru\u010dnim pisanjem koda na Scali se ne zavr\u0161ava ovdje.<\/p>\n<p>Upotreba low-code u razvoju datalakeova za nas je ve\u0107 postala neka vrsta standarda. Vjerojatno se mo\u017ee re\u0107i da rje\u0161enja na Hadoop stogu ponavljaju put razvoja klasi\u010dnih DWH-ova temeljenih na RDBMS-u. Low-code alati na Hadoop stogu mogu rje\u0161avati zadatke obrade podataka kao i zadatke izgradnje zavr\u0161nih BI su\u010delja. Osim toga, treba napomenuti da pod BI mo\u017ee podrazumijevati ne samo prikaz podataka, ve\u0107 i njihovo ure\u0111ivanje od strane poslovnih korisnika. Ova funkcionalnost se \u010desto koristi u izgradnji analiti\u010dkih platformi za financijski sektor. <\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/cde5ce9dac9fcc9356b2b0ed291e299c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIzme\u0111u ostalog, pomo\u0107u low-code-a i, posebno, Datagrama, mogu\u0107e je rije\u0161iti problem pra\u0107enja podrijetla objekata toka podataka s atomskom precizno\u0161\u0107u do pojedinih polja (lineage). Za to je u alatu za low-code implementirano povezivanje s Apache Atlasom i Cloudera Navigatorom. U su\u0161tini, programer mora registrirati skup objekata u rje\u010dnicima Atlasa i referencirati registrirane objekte prilikom izrade mapiranja. Mehanizam pra\u0107enja podrijetla podataka ili analiza zavisnosti objekata \u0161tedi mnogo vremena prilikom potrebnih izmjena u algoritmima kalkulacije. Na primjer, prilikom izrade financijskog izvje\u0161tavanja, ova zna\u010dajka omogu\u0107ava lak\u0161e pro\u0107i kroz razdoblja promjena zakonodavstva. \u0160to bolje razumijemo me\u0111ufunkcionalne zavisnosti u kontekstu objekata detaljnog sloja, manje \u0107emo se suo\u010diti s \u201eiznenadnim\u201c gre\u0161kama i smanjiti broj revorkova. <\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/0b351b116564090bd03f6adf3fc52616.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Kvaliteta podataka &amp; Low-code<\/h2>\n<p>\nJo\u0161 jedan zadatak, realiziran low-code alatom na projektu tvrtke Mediascope, bio je zadatak klase Kvaliteta podataka. Osobina realizacije cjevovoda provjere podataka za projekt istra\u017eiva\u010dke tvrtke bila je odsutnost utjecaja na funkcionalnost i brzinu rada glavnog toka kalkulacije podataka. Za orkestraciju neovisnim tokovima provjere podataka kori\u0161ten je ve\u0107 poznati Apache Airflow. Dok je svaki korak proizvodnje podataka bio spreman, paralelno se pokretao odvojeni dio DQ cjevovoda. <\/p>\n<p>Dobra praksa je pra\u0107enje kvalitete podataka od trenutka njihova nastanka u analiti\u010dkoj platformi. Imaju\u0107i informacije o metapodacima, ve\u0107 od trenutka kada informacije u\u0111u u izvorni sloj mo\u017eemo provjeriti po\u0161tovanje osnovnih uvjeta \u2014 not null, constraints, foreign keys. Ova funkcionalnost realizirana je na temelju automatski generiranih mapiranja porodice kvalitete podataka u Datagrama. Kodna generacija u ovom slu\u010daju tako\u0111er se temelji na metapodacima modela. Na projektu tvrtke Mediascope povezivanje se doga\u0111alo s metapodacima proizvoda Enterprise Architect. <\/p>\n<p>Zbog povezivanja low-code alata i Enterprise Architecta automatski su generirane sljede\u0107e provjere:<\/p>\n<ul>\n<li>Provjera prisutnosti vrijednosti \u201enull\u201c na poljima s modifikatorom \u201enot null\u201c; <\/li>\n<li>Provjera prisutnosti duplikata primarnog klju\u010da;<\/li>\n<li>Provjera vanjskog klju\u010da entiteta;<\/li>\n<li>Provjera jedinstvenosti retka prema skupu polja.<\/li>\n<\/ul>\n<p>\nZa slo\u017eenije provjere dostupnosti i vjerodostojnosti podataka stvoren je mapping s Scala Expression, koji prihva\u0107a vanjski Spark SQL kod provjere, pripremljen od strane analiti\u010dara u Zeppelin.<\/p>\n<p><img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNaravno, automatskoj generaciji provjera treba pristupiti postupno. U okviru opisanog projekta prethodili su sljede\u0107i koraci:<\/p>\n<ul>\n<li>DQ, realizirani u bilje\u017enicama Zeppelin;<\/li>\n<li>DQ, ugra\u0111eni u mapping;<\/li>\n<li>DQ u obliku odvojenih masivnih mappinga, koji sadr\u017ee cijeli set provjera za pojedini entitet;<\/li>\n<li>Univerzalni parametrizirani DQ mappingi, koji prihva\u0107aju informacije o metapodacima i poslovnim provjerama.<\/li>\n<\/ul>\n<p>\nMo\u017eda je najve\u0107a prednost stvaranja servisa parametriziranih provjera skra\u0107ivanje vremena isporuke funkcionalnosti u produkcijsko okru\u017eenje. Nove provjere kvalitete mogu zaobi\u0107i klasi\u010dni obrazac isporuke koda posredno kroz razvojne i testne okru\u017eenja:<\/p>\n<ul>\n<li>Sve provjere metapodataka automatski se generiraju prilikom promjene modela u EA;<\/li>\n<li>Provjere dostupnosti podataka (odre\u0111ivanje prisutnosti bilo kakvih podataka u odre\u0111enom trenutku) mogu se generirati na temelju vodi\u010da koji pohranjuje o\u010dekivano vrijeme dolaska sljede\u0107e serije podataka prema objektima;<\/li>\n<li>Poslovne provjere vjerodostojnosti podataka stvaraju se od strane analiti\u010dara u bilje\u017enicama Zeppelin. Odakle se izravno usmjeravaju u konfigiracijske tablice modula DQ u produkcijskom okru\u017eenju. <\/li>\n<\/ul>\n<p>\nRizici izravnog otpremanja skripti na produkciju ne postoje. \u010cak i u slu\u010daju sintakti\u010dke gre\u0161ke, maksimum \u0161to nam prijeti je neizvr\u0161enje jedne provjere, jer su tokovi izra\u010duna podataka i tokovi pokretanja provjera kvalitete odvojeni.<\/p>\n<p>U su\u0161tini, DQ servis stalno je pokrenut u produkcijskom okru\u017eenju i spreman je zapo\u010deti svoj rad u trenutku dolaska sljede\u0107e serije podataka. <\/p>\n<h2>Umjesto zaklju\u010dka<\/h2>\n<p>\nPrednost primjene low-codea je o\u010dita. Programerima nije potrebno razvijati aplikaciju \u00abs nule\u00bb. A oslobo\u0111eni dodatnih zadataka programer donosi rezultate br\u017ee. Brzina, pak, osloba\u0111a dodatne resurse vremena za rje\u0161avanje pitanja optimizacije. Stoga, u ovom slu\u010daju se mo\u017ee o\u010dekivati prisutnost kvalitetnijeg i br\u017eeg rje\u0161enja.<\/p>\n<p><b>Naravno, low-code nije panaceja, i \u010darolija sama po sebi se ne\u0107e dogoditi:<\/b><\/p>\n<ul>\n<li>Industrija low-codea prolazi kroz fazu \u201eja\u010danja\u201d, a za sada u njoj nema ujedna\u010denih industrijskih standarda;<\/li>\n<li>Mnoge low-code solucije nisu besplatne i njihova nabava treba biti promi\u0161ljen korak, koji bi se trebao poduzeti uz punu sigurnost o financijskoj koristi od njihove primjene;<\/li>\n<li>Mnoge low-code solucije ne uvijek dobro sura\u0111uju s GIT \/ SVN. Ili su neugodne za kori\u0161tenje u slu\u010daju skrivanja generiranog koda;<\/li>\n<li>Pri pro\u0161irenju arhitekture mo\u017ee biti potrebna dorada low-code rje\u0161enja \u2013 \u0161to, zauzvrat, provodi efekat \u201evezanosti i ovisnosti\u201d o dobavlja\u010du low-code rje\u0161enja.<\/li>\n<li>Prikladna razina osiguranja sigurnosti je mogu\u0107a, ali je vrlo radno intenzivna i slo\u017eena u implementaciji pokreta\u010da low-code sustava. Low-code platforme ne bi trebale biti birane samo prema principu tra\u017eenja koristi od njihove primjene. Prilikom odabira valja postaviti pitanja o postojanju funkcionalnosti upravljanja pristupom i delegiranjem\/escalacijom identifikacijskih podataka na razinu cjelokupnog IT pejza\u017ea organizacije.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Primjena low-code rje\u0161enja u analiti\u010dkim platformama\" src=\"\/wp-content\/uploads\/2020\/09\/8ad44d2f71f519b70f5ae1e1fe722066.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMe\u0111utim, ako su vam svi nedostaci odabrane sustava poznati, a koristi od njezina kori\u0161tenja, unato\u010d svemu, su dominantne, tada mo\u017eete prije\u0107i na low-code bez straha. Tim vi\u0161e \u0161to je prijelaz na njega neizbje\u017ean \u2013 kao \u0161to je neizbje\u017ena svaka evolucija.<\/p>\n<p>Ako jedan programer na low-code platformi mo\u017ee br\u017ee obaviti svoj posao nego dva programera bez low-codea, to daje kompaniji prednost u svim aspektima. Prag ulaska u low-code re\u0161enja je ni\u017ei nego u \"tradicionalne\" tehnologije, \u0161to pozitivno uti\u010de na pitanje nedostatka radne snage. Upotrebom low-code alata mo\u017ee se ubrzati interakcija me\u0111u funkcionalnim timovima i br\u017ee donositi odluke o ta\u010dnosti izabranog puta istra\u017eivanja u oblasti data-sciencea. Niskokodna platforma mo\u017ee biti uzrok digitalne transformacije organizacije, jer re\u0161enja koja se proizvode mogu biti razumljiva netehni\u010dkim stru\u010dnjacima (posebno poslovnim korisnicima). <\/p>\n<p>Ako imate sku\u010dene rokove, optere\u0107enu poslovnu logiku, nedostatak tehnolo\u0161ke stru\u010dnosti, i potrebno vam je ubrzanje vremena za izlazak na tr\u017ei\u0161te, low-code je jedan od na\u010dina da zadovoljite svoje potrebe.<\/p>\n<p>Ne treba zanemariti zna\u010daj tradicionalnih razvojnih alata, ali u mnogim slu\u010dajevima upotreba low-code re\u0161enja je najbolji na\u010din da se pove\u0107a efikasnost re\u0161enih zadataka.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/neoflex\/blog\/520554\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-27T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-27T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Primena low-code u analiti\u010dkim platformama | ProHoster","description":"Po\u0161tovani \u010ditatelji, dobar dan! Zadatak izgradnje IT platformi za prikupljanje i analizu podataka \u0440\u0430\u043d\u043e ili kasnije se postavlja pred svaku kompaniju \u010diji je poslovni model zasnovan na intelektualno zahtevnim aktivnostima.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster","og:description":"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-27T17:42:23+00:00","article:modified_time":"2020-09-27T17:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95283","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:08:24","updated":"2026-02-22 15:29:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/95283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=95283"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/95283\/revisions"}],"predecessor-version":[{"id":162190,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/95283\/revisions\/162190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/95284"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=95283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=95283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=95283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}