{"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\/it\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","title":{"rendered":"Applicazione del low-code nelle piattaforme analitiche","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Gentili lettori, buon pomeriggio!<\/p>\n<p>La necessit\u00e0 di costruire piattaforme IT per la raccolta e l'analisi dei dati si presenta, prima o poi, a ogni azienda il cui business si basa su un modello di servizi intellettualmente complesso o sulla creazione di prodotti tecnologicamente avanzati. Costruire piattaforme analitiche \u00e8 un compito difficile e dispendioso in termini di tempo. Tuttavia, ogni sfida pu\u00f2 essere semplificata. In questo articolo voglio condividere l'esperienza nell'uso di strumenti low-code che aiutano nella creazione di soluzioni analitiche. Questa esperienza \u00e8 stata acquisita nell'ambito dell'implementazione di diversi progetti della divisione Big Data Solutions della societ\u00e0 \"Neoflex\". Dal 2005, la divisione Big Data Solutions di \"Neoflex\" si occupa di costruire archivi e laghi di dati, affrontando questioni relative all'ottimizzazione della velocit\u00e0 di elaborazione delle informazioni e sviluppando metodologie per la gestione della qualit\u00e0 dei dati.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNessuno pu\u00f2 evitare l'accumulo consapevole di dati poco e\/o fortemente strutturati. Forse, anche nel caso di una piccola impresa. Infatti, con la crescita dell'attivit\u00e0, un imprenditore promettente si trover\u00e0 ad affrontare questioni come lo sviluppo di un programma di fidelizzazione, vorr\u00e0 analizzare l'efficacia dei punti vendita, penser\u00e0 alla pubblicit\u00e0 mirata e rifletter\u00e0 sulla domanda di prodotti correlati. In un primo momento, il problema pu\u00f2 essere risolto \"alla buona\". Ma con la crescita dell'attivit\u00e0, l'approdo a una piattaforma analitica diventa inevitabile.<\/p>\n<p>Ma in quale caso le sfide dell'analitica dei dati possono trasformarsi in problemi di \"Rocket Science\"? Forse nel momento in cui si tratta di dati veramente grandi.<br \/>\nPer semplificare il compito di \"Rocket Science\", si pu\u00f2 mangiare un elefante a pezzi. <\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/f81e7704b91a5b95303e4240d6012730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMaggiore \u00e8 la discrezionalit\u00e0 e l'autonomia delle vostre applicazioni\/servizi\/microservizi, pi\u00f9 semplice sar\u00e0 per voi, per i vostri colleghi e per l'intero business \"mandare gi\u00f9\" l'elefante.<\/p>\n<p>Questa conclusione \u00e8 stata raggiunta praticamente da tutti i nostri clienti, ristrutturando il paesaggio sulla base delle pratiche ingegneristiche dei team DevOps.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMa anche con una dieta \"separata e pachidermica\", abbiamo buone possibilit\u00e0 di \"saturazione\" del panorama IT. \u00c8 il momento di fermarsi, respirare e guardare verso <b>piattaforma di ingegneria low-code<\/b>.<\/p>\n<p>Molti sviluppatori temono la prospettiva di trovarsi in un vicolo cieco nella carriera allontanandosi dalla scrittura diretta di codice a favore del \"trascinamento\" di elementi nelle interfacce utente dei sistemi low-code. Ma l'emergere di macchinari non ha portato all'estinzione degli ingegneri, ma ha portato il loro lavoro a un nuovo livello!<\/p>\n<p>Vediamo perch\u00e9.<\/p>\n<p>L'analisi dei dati nel settore della logistica, delle telecomunicazioni, nella ricerca mediatica e nel settore finanziario \u00e8 sempre associata alle seguenti domande: <\/p>\n<ul>\n<li>La velocit\u00e0 con cui viene eseguita l'analisi automatizzata;<\/li>\n<li>La possibilit\u00e0 di condurre esperimenti senza influenzare il flusso principale di produzione dei dati;<\/li>\n<li>L'affidabilit\u00e0 dei dati preparati;<\/li>\n<li>Monitoraggio delle modifiche e versionamento;<\/li>\n<li>Provenienza dei dati, tracciamento dei dati, CDC;<\/li>\n<li>Rapidit\u00e0 di consegna di nuove funzionalit\u00e0 nell'ambiente di produzione;<\/li>\n<li>E il famigerato: il costo di sviluppo e supporto.<\/li>\n<\/ul>\n<p>\nCio\u00e8, gli ingegneri hanno a disposizione un'enorme quantit\u00e0 di compiti ad alto livello, che possono essere portati a termine con un adeguato livello di efficienza solo liberando la mente dai compiti di sviluppo a basso livello.<\/p>\n<p>Le premesse per il passaggio dei programmatori a un nuovo livello sono state l'evoluzione e la digitalizzazione del business. Il valore dello sviluppatore sta anche cambiando: c'\u00e8 una significativa scarsit\u00e0 di sviluppatori in grado di immergersi nella sostanza dei concetti di business automatizzabile.<\/p>\n<p>Facciamo un'analogia tra i linguaggi di programmazione a basso e alto livello. Il passaggio dai linguaggi a basso livello verso quelli ad alto livello rappresenta il passaggio dalla scrittura di \"istruzioni dirette nel linguaggio della macchina\" a \"istruzioni nel linguaggio umano\". In altre parole, si tratta di aggiungere un certo livello di astrazione. Pertanto, il passaggio verso piattaforme low-code costituirebbe un'evoluzione da \"istruzioni nel linguaggio umano\" a \"istruzioni nel linguaggio del business\". Se ci sono sviluppatori che si rattristano per questo fatto, potrebbero essere stati gi\u00e0 delusi dal momento stesso in cui \u00e8 nato JavaScript, che utilizza funzioni di ordinamento degli array. E queste funzioni, ovviamente, hanno dietro di s\u00e9 un'implementazione software realizzata con altri mezzi, sempre nello stesso contesto di programmazione ad alto livello.<\/p>\n<p><b>Di conseguenza, il low-code rappresenta semplicemente l'emergere di un ulteriore livello di astrazione. <\/b><\/p>\n<h2>Esperienza pratica nell'uso del low-code<\/h2>\n<p>\nIl tema del low-code \u00e8 abbastanza ampio, ma ora vorrei parlare dell'applicazione pratica dei \"concetti a basso codice\" prendendo ad esempio uno dei nostri progetti.<\/p>\n<p>La divisione Big Data Solutions di \u00abNeoflex\u00bb si concentra principalmente sul settore finanziario, creando data warehouse e data lake, automatizzando vari report. In questo settore, l'uso del low-code \u00e8 divenuto uno standard. Tra gli strumenti low-code spiccano quelli per l'organizzazione dei processi ETL: Informatica Power Center, IBM Datastage, Pentaho Data Integration. O anche Oracle Apex, che funge da ambiente per lo sviluppo rapido di interfacce per l'accesso e la modifica dei dati. Tuttavia, l'uso di strumenti di sviluppo low-code non \u00e8 sempre legato alla creazione di applicazioni specifiche su un insieme tecnologico commerciale con una chiara dipendenza dal fornitore.<\/p>\n<p>Con le piattaforme low-code \u00e8 possibile anche organizzare l'orchestrazione dei flussi di dati, creare ambienti di data science o, ad esempio, moduli per il controllo della qualit\u00e0 dei dati. <\/p>\n<p>Uno degli esempi pratici di utilizzo di strumenti di sviluppo low-code \u00e8 la collaborazione tra \u00abNeoflex\u00bb e l'azienda Mediascope, uno dei leader nel mercato russo delle ricerche sui media. Una delle sfide aziendali di questa compagnia \u00e8 la produzione di dati su cui inserzionisti, piattaforme online, canali televisivi, emittenti radiofoniche, agenzie pubblicitarie e marchi basano le loro decisioni d'acquisto e pianificano le loro comunicazioni di marketing. <\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa ricerca media \u00e8 un settore affollato di tecnologia. Il riconoscimento del video, la raccolta di dati da dispositivi che analizzano la visualizzazione, la misurazione dell'attivit\u00e0 sui siti web \u2014 tutto questo richiede che l'azienda abbia un ampio staff IT e una vasta esperienza nello sviluppo di soluzioni analitiche. Ma la crescita esponenziale del volume delle informazioni, cos\u00ec come la variet\u00e0 delle sue fonti, costringe il settore IT dei dati a progredire costantemente. La soluzione pi\u00f9 semplice per scalare una piattaforma analitica gi\u00e0 funzionante come Mediascope poteva essere l'aumento del personale IT. Tuttavia, una soluzione molto pi\u00f9 efficace \u00e8 l'accelerazione del processo di sviluppo. Uno dei passi in questa direzione pu\u00f2 essere l'uso di piattaforme low-code.<\/p>\n<p>Al momento dell'avvio del progetto, l'azienda disponeva gi\u00e0 di una soluzione di prodotto funzionante. Tuttavia, l'implementazione di una soluzione su MSSQL non poteva soddisfare pienamente le aspettative in termini di scalabilit\u00e0 delle funzionalit\u00e0 mantenendo un costo accettabile per le modifiche.<\/p>\n<p>La sfida che ci si presentava era veramente ambiziosa: Neoflex e Mediascope dovevano creare una soluzione industriale in meno di un anno, con il rilascio di un MVP gi\u00e0 nel primo trimestre dalla data di inizio dei lavori.<\/p>\n<p>Per la costruzione di una nuova piattaforma dati, basata su computazione low-code, \u00e8 stato scelto il stack tecnologico Hadoop. Lo standard per l'archiviazione dei dati \u00e8 diventato HDFS utilizzando file in formato parquet. Per accedere ai dati presenti nella piattaforma, \u00e8 stato utilizzato Hive, in cui tutte le vetrine disponibili sono presentate come tabelle esterne. Il caricamento dei dati nel deposito \u00e8 stato realizzato con Kafka e Apache NiFi.<\/p>\n<p>Lo strumento low-code in questo concetto \u00e8 stato applicato per ottimizzare il compito pi\u00f9 dispendioso in termini di tempo nella costruzione della piattaforma analitica: il calcolo dei dati.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/fe62234ab0ae611a0c4a536ca68af898.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl meccanismo principale per il mapping dei dati \u00e8 stato scelto lo strumento low-code Datagram. <b>Neoflex Datagram<\/b> \u00e8 uno strumento per sviluppare trasformazioni e flussi di dati. <br \/>\nUtilizzando questo strumento, \u00e8 possibile evitare di scrivere codice Scala 'a mano'. Il codice Scala viene generato automaticamente utilizzando l'approccio Model Driven Architecture.<\/p>\n<p>Un evidente vantaggio di questo approccio \u00e8 l'accelerazione del processo di sviluppo. Tuttavia, oltre alla velocit\u00e0, ci sono anche i seguenti vantaggi: <\/p>\n<ul>\n<li>Visualizzazione del contenuto e della struttura delle fonti\/destinazioni;<\/li>\n<li>Tracciamento della provenienza degli oggetti del flusso di dati fino ai singoli campi (lineage);<\/li>\n<li>Esecuzione parziale delle trasformazioni con visualizzazione dei risultati intermedi;<\/li>\n<li>Visualizzazione e correzione del codice sorgente prima dell'esecuzione;<\/li>\n<li>Validazione automatica delle trasformazioni;<\/li>\n<li>Caricamento automatico dei dati 1 a 1.<\/li>\n<\/ul>\n<p>\nLa soglia di ingresso nelle soluzioni low-code per la generazione di trasformazioni \u00e8 piuttosto bassa: uno sviluppatore deve conoscere SQL e avere esperienza con strumenti ETL. Va comunque precisato che i generatori di trasformazioni code-driven non sono strumenti ETL nel senso ampio del termine. Gli strumenti low-code potrebbero non avere un proprio ambiente di esecuzione per il codice. Ci\u00f2 significa che il codice generato verr\u00e0 eseguito sull'ambiente esistente nel cluster prima dell'installazione della soluzione low-code. E questo \u00e8 probabilmente un ulteriore vantaggio per le soluzioni low-code, poich\u00e9 parallelamente al team low-code pu\u00f2 operare un team 'classico' che implementa funzionalit\u00e0, ad esempio, in codice Scala puro. L'inserimento delle modifiche di entrambi i team in produzione sar\u00e0 semplice e 'senza cuciture'.<\/p>\n<p>Vale la pena sottolineare che oltre alle soluzioni low-code esistono anche quelle no-code. E per sua natura, si tratta di due concetti diversi. Il low-code consente in misura maggiore agli sviluppatori di intervenire nel codice generato. Nel caso di Datagram, \u00e8 possibile visualizzare e modificare il codice Scala generato, mentre il no-code potrebbe non offrire tale possibilit\u00e0. Questa differenza \u00e8 significativa non solo in termini di flessibilit\u00e0 della soluzione, ma anche per quanto riguarda il comfort e la motivazione nel lavoro dei data engineer. <\/p>\n<h2>Architettura della soluzione<\/h2>\n<p>\nCerchiamo di capire come esattamente uno strumento low-code aiuti a ottimizzare la velocit\u00e0 di sviluppo della funzionalit\u00e0 di calcolo dei dati. Iniziamo analizzando l'architettura funzionale del sistema. In questo caso, un esempio \u00e8 fornito dal modello di produzione dei dati per ricerche sui media.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/365f1b1cf69bf2a71854eb05c5bba809.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Le fonti di dati nel nostro caso sono piuttosto eterogenee e variegate:<\/b><\/p>\n<ul>\n<li>I meter di ascolto (TV-meter) sono dispositivi hardware e software che registrano il comportamento degli utenti in un panel televisivo, identificando chi, quando e quale canale televisivo viene guardato in un nucleo familiare partecipante alla ricerca. Le informazioni fornite comprendono flussi di intervalli di visione televisiva legati a pacchetti media e prodotti. I dati caricati nel Data Lake possono essere arricchiti con attributi demografici, associazioni geografiche, fusi orari e altre informazioni necessarie per l'analisi del consumo di media. Le misurazioni effettuate possono essere utilizzate per l'analisi o la pianificazione di campagne pubblicitarie, la valutazione dell'attivit\u00e0 e delle preferenze del pubblico, la creazione della programmazione;<\/li>\n<li>I dati possono provenire da sistemi di monitoraggio delle trasmissioni streaming e da misurazioni delle visualizzazioni di contenuti su risorse video in internet;<\/li>\n<li>Strumenti di misurazione nel web, tra cui contatori sia site-centric che user-centric. Un'estensione del browser o un'applicazione mobile con funzionalit\u00e0 integrate pu\u00f2 servire come fornitore di dati per il Data Lake. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vpn\/\"   title=\"VPN\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"133\">VPN<\/a>.<\/li>\n<li>I dati possono anche provenire da piattaforme che consolidano i risultati della compilazione dei questionari online e i risultati delle interviste telefoniche nelle indagini condotte dall'azienda;<\/li>\n<li>L'arricchimento aggiuntivo del lago dati pu\u00f2 avvenire tramite il caricamento di informazioni dai log delle aziende partner.<\/li>\n<\/ul>\n<p>\nL'implementazione as is del caricamento dai sistemi sorgente nel primo staging dei dati grezzi pu\u00f2 essere organizzata in vari modi. Se si utilizza per questi scopi un approccio low-code, \u00e8 possibile la generazione automatica di script di caricamento basati su metadati. Non \u00e8 necessario scendere al livello di sviluppo delle mappature da source a target. Per realizzare il caricamento automatico \u00e8 necessario stabilire una connessione con la sorgente e quindi definire nell'interfaccia di caricamento l'elenco delle entit\u00e0 da caricare. La creazione della struttura delle directory in HDFS avverr\u00e0 automaticamente e corrisponder\u00e0 alla struttura di archiviazione dei dati nel sistema sorgente.<\/p>\n<p>Tuttavia, nel contesto di questo progetto, abbiamo deciso di non utilizzare questa opportunit\u00e0 delle piattaforme low-code, poich\u00e9 l'azienda Mediascope ha gi\u00e0 iniziato autonomamente a lavorare alla creazione di un servizio analogo utilizzando la combinazione Nifi + Kafka.<\/p>\n<p>\u00c8 importante notare fin da subito che questi strumenti non sono intercambiabili, ma piuttosto si completano a vicenda. Nifi e Kafka possono funzionare sia in direzione diretta (Nifi -&gt; Kafka) che inversa (Kafka -&gt; Nifi). Per la piattaforma di ricerca media \u00e8 stata utilizzata la prima variante della combinazione.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/8284ef5bd6d3b947998ffd42bfb66dbd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNel nostro caso, Nifi doveva elaborare diversi tipi di dati provenienti da sistemi sorgente e inoltrarli al broker Kafka. In questo processo, l'invio dei messaggi a un determinato topic Kafka avveniva tramite i processori PublishKafka di Nifi. L'orchestrazione e la manutenzione di questi pipeline avvengono attraverso un'interfaccia visiva. Lo strumento Nifi e l'uso della combinazione Nifi + Kafka possono essere considerati anche un'approccio low-code allo sviluppo, con una bassa barriera all'ingresso nelle tecnologie Big Data e un'accelerazione del processo di sviluppo delle applicazioni. <\/p>\n<p>Il prossimo passo nell'implementazione del progetto era quello di adottare un formato di strato semantico unificato per i dati dettagliati. In presenza di attributi storici per un'entit\u00e0, il calcolo viene effettuato nel contesto della partizione considerata. Se l'entit\u00e0 non \u00e8 storica, \u00e8 possibile opzionalmente effettuare un ricalcolo di tutto il contenuto dell'oggetto, oppure rinunciare del tutto al ricalcolo di quest'oggetto (in assenza di modifiche). In questa fase vengono generati le chiavi per tutte le entit\u00e0. Le chiavi vengono memorizzate nei corrispondenti master oggetti delle directory Hbase, contenenti la corrispondenza tra le chiavi nella piattaforma analitica e quelle provenienti dai sistemi sorgente. La consolidazione delle entit\u00e0 atomiche \u00e8 accompagnata dall'arricchimento con i risultati del calcolo preliminare dei dati analitici. Il framework utilizzato per il calcolo dei dati era Spark. La funzionalit\u00e0 descritta per l'unificazione delle semantiche dei dati \u00e8 stata implementata anche tramite i mapping dello strumento low-code Datagram.<\/p>\n<p>Nell'architettura target, era necessario garantire l'accesso SQL ai dati per gli utenti aziendali. Per questa opzione \u00e8 stata utilizzata Hive. La registrazione degli oggetti in Hive avviene automaticamente attivando l'opzione \"Registr Hive Table\" nello strumento low-code.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/a13f7260d067d3d21b7090bd8fa10aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Gestione del flusso di calcolo<\/h2>\n<p>\nDatagram ha un'interfaccia per la creazione del design dei flussi workflow. L'esecuzione delle mappature pu\u00f2 essere gestita utilizzando il pianificatore Oozie. Nell'interfaccia dello sviluppatore di flussi \u00e8 possibile creare schemi di trasformazione dati paralleli, sequenziali o condizionati. \u00c8 supportato l'uso di shell script e programmi Java. \u00c8 inoltre possibile utilizzare <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3662\">server<\/a> Apache Livy. Apache Livy viene utilizzato per eseguire applicazioni direttamente dall'ambiente di sviluppo. <\/p>\n<p>Se un'azienda ha gi\u00e0 un proprio orchestratore di processi, \u00e8 possibile utilizzare le API REST per integrare i mapping nel flusso esistente. Ad esempio, abbiamo avuto un'esperienza piuttosto positiva nell'integrazione di mapping in Scala in orchestratori scritti in PLSQL e Kotlin. Le API REST dello strumento low-code prevedono operazioni come la generazione dell'anno eseguibile basata sul design del mapping, la chiamata del mapping, la chiamata della sequenza di mapping e, naturalmente, la trasmissione di parametri nell'URL per attivare i mapping.<\/p>\n<p>Insieme a Oozie, \u00e8 possibile organizzare il flusso di calcolo utilizzando Airflow. Non mi soffermer\u00f2 a lungo sul confronto tra Oozie e Airflow, ma dir\u00f2 semplicemente che nel contesto del progetto di ricerca mediatica, abbiamo optato per Airflow. I principali argomenti a favore sono stati una comunit\u00e0 pi\u00f9 attiva che sviluppa il prodotto e un'interfaccia + API pi\u00f9 avanzate.<\/p>\n<p>Airflow \u00e8 particolarmente apprezzato perch\u00e9 utilizza Python, un linguaggio molto amato per descrivere i processi di calcolo. Inoltre, non ci sono molte piattaforme per la gestione dei flussi di lavoro con codice sorgente aperto. L'avvio e il monitoraggio dell'esecuzione dei processi (inclusa la visualizzazione tramite diagrammi di Gantt) aggiungono punteggi alla reputazione di Airflow. <\/p>\n<p>Il formato del file di configurazione per l'esecuzione delle mappature della soluzione low-code \u00e8 diventato spark-submit. Questo \u00e8 avvenuto per due motivi. In primo luogo, spark-submit consente di avviare direttamente un file jar dalla console. In secondo luogo, pu\u00f2 contenere tutte le informazioni necessarie per configurare il flusso di lavoro (il che facilita la scrittura di script che creano Dag).<br \/>\nL'elemento di flusso di lavoro Airflow pi\u00f9 comune nel nostro caso \u00e8 stato il SparkSubmitOperator.<\/p>\n<p>Il SparkSubmitOperator consente di eseguire file jar, che contengono mappature Datagram con parametri di input gi\u00e0 pre-formattati.<\/p>\n<p>\u00c8 importante notare che ogni attivit\u00e0 di Airflow viene eseguita in un thread separato e non conosce le altre attivit\u00e0. Pertanto, l'interazione tra le attivit\u00e0 avviene tramite operatori di controllo, come il DummyOperator o il BranchPythonOperator.<\/p>\n<p>L'uso combinato della soluzione low-code Datagram insieme alla generalizzazione dei file di configurazione (che formano i Dag) ha portato a un notevole acceleramento e semplificazione del processo di sviluppo dei flussi di caricamento dei dati.<\/p>\n<h2>Calcolo delle vetrine<\/h2>\n<p>\nProbabilmente, la fase pi\u00f9 intellettualmente impegnativa nella produzione dei dati analitici \u00e8 quella della costruzione delle vetrine. Nel contesto di uno dei flussi di calcolo dei dati di un'azienda di ricerca, in questa fase avviene l'allineamento alla trasmissione standard, tenendo conto delle correzioni per i fusi orari in relazione alla rete di trasmissione. \u00c8 inoltre possibile applicare una correzione per la rete locale di trasmissione (notizie locali e pubblicit\u00e0). Tra l'altro, in questo passaggio viene effettuata la suddivisione degli intervalli di visione continua dei prodotti media basata sull'analisi degli intervalli di visione. Qui avviene anche il 'pesi' dei valori di visione basato sulle informazioni riguardanti la loro rilevanza (calcolo del coefficiente di correzione).<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/b5f90f7d1d95c97c9819218aab9079c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn passaggio fondamentale nella preparazione dei cataloghi \u00e8 la validazione dei dati. L'algoritmo di validazione \u00e8 associato all'applicazione di diversi modelli matematici. Tuttavia, l'uso di piattaforme low-code consente di suddividere un complesso algoritmo in una serie di mapping visivamente leggibili. Ognuno di questi mapping svolge un compito specifico, consentendo cos\u00ec il debug intermedio, il logging e la visualizzazione delle fasi di preparazione dei dati. <\/p>\n<p>Si \u00e8 deciso di discretizzare l'algoritmo di validazione nei seguenti sotto-passi:<\/p>\n<ul>\n<li>Costruzione delle regressioni delle dipendenze delle visualizzazioni della televisione nella regione rispetto alle visualizzazioni di tutte le reti nella regione negli ultimi 60 giorni. <\/li>\n<li>Calcolo dei residui studentizzati (scostamenti tra i valori effettivi e quelli previsti dal modello di regressione) per tutti i punti di regressione e per il giorno calcolato.<\/li>\n<li>Campionamento delle coppie anomale regione-rete televisiva, dove il residuo studentizzato del giorno calcolato supera la norma (definita nelle impostazioni dell'operazione).<\/li>\n<li>Ricalcolo del saldo standardizzato corretto per coppie anomale regione-rete televisiva per ogni rispondente che ha visualizzato la rete nella regione, definendo il contributo di questo rispondente (variazione del saldo standardizzato) escludendo la visione di questo rispondente dal campione.<\/li>\n<li>Ricerca di candidati la cui esclusione riporta il saldo standardizzato del giorno di calcolo nella norma. <\/li>\n<\/ul>\n<p>\nL'esempio sopra riportato \u00e8 una conferma dell'ipotesi che un data engineer ha gi\u00e0 troppe informazioni da gestire nella sua mente... E, se davvero si tratta di un 'ingegnere' e non di un 'coder', la paura della degradazione professionale nell'uso di strumenti low-code dovrebbe definitivamente svanire.<\/p>\n<h2>Cosa pu\u00f2 fare ancora il low-code?<\/h2>\n<p>\nL'ambito di applicazione degli strumenti low-code per l'elaborazione di batch e streaming di dati senza la necessit\u00e0 di scrivere codice in Scala manualmente non si esaurisce qui.<\/p>\n<p>L'utilizzo del low-code nello sviluppo di datalake \u00e8 diventato ormai un certo standard per noi. Si pu\u00f2 dire che le soluzioni basate su Hadoop seguono il percorso di sviluppo dei classici DWH basati su DBMS. Gli strumenti low-code sulla stack Hadoop possono affrontare sia i task di elaborazione dati che le sfide nella costruzione di interfacce BI finali. Va sottolineato che per BI si intende non solo la rappresentazione dei dati, ma anche la loro modifica da parte degli utenti business. Questa funzionalit\u00e0 \u00e8 spesso utilizzata da noi nella realizzazione di piattaforme analitiche per il settore finanziario. <\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/cde5ce9dac9fcc9356b2b0ed291e299c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTra le altre cose, con il low-code e, in particolare, con Datagram \u00e8 possibile affrontare la questione della tracciabilit\u00e0 della provenienza degli oggetti nei flussi di dati con un'atomicit\u00e0 fino ai singoli campi (lineage). Per questo, nello strumento low-code \u00e8 stata implementata un'integrazione con Apache Atlas e Cloudera Navigator. In sostanza, lo sviluppatore deve registrare un insieme di oggetti nei dizionari di Atlas e fare riferimento agli oggetti registrati durante la costruzione dei mapping. Il meccanismo di tracciamento della provenienza dei dati o di analisi delle dipendenze degli oggetti consente di risparmiare molto tempo quando \u00e8 necessario apportare modifiche agli algoritmi di calcolo. Ad esempio, nella preparazione della rendicontazione finanziaria, questa funzionalit\u00e0 permette di affrontare con maggiore serenit\u00e0 i periodi di cambiamenti legislativi. Infatti, pi\u00f9 siamo consapevoli della dipendenza interformale in relazione agli oggetti del dettaglio, meno ci troveremo ad affrontare difetti \u201cimprovvisi\u201d e ridurremo il numero di rework. <\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/0b351b116564090bd03f6adf3fc52616.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Data Quality &amp; Low-code<\/h2>\n<p>\nUn altro compito realizzato con lo strumento low-code nel progetto dell'azienda Mediascope \u00e8 stato il compito di classe Data Quality. Una caratteristica della realizzazione del pipeline di verifica dei dati per il progetto della societ\u00e0 di ricerca \u00e8 stata l'assenza di impatto sulla funzionalit\u00e0 e sulla velocit\u00e0 del flusso principale di calcolo dei dati. Per orchestrare flussi indipendenti di verifica dei dati, \u00e8 stato utilizzato il gi\u00e0 noto Apache Airflow. Man mano che ciascun passaggio della produzione di dati era pronto, si attivava parallelamente una parte separata del pipeline DQ. <\/p>\n<p>\u00c8 considerata una buona pratica monitorare la qualit\u00e0 dei dati sin dal loro nascere nella piattaforma analitica. Avere informazioni sui metadati ci consente gi\u00e0 di verificare il rispetto delle condizioni di base - not null, constraints, foreign keys - sin dal momento in cui le informazioni entrano nel layer primario. Questa funzionalit\u00e0 \u00e8 stata realizzata sulla base di mappature generate automaticamente della famiglia data quality in Datagram. La generazione del codice in questo caso si basa anche sui metadati del modello. Nel progetto dell'azienda Mediascope, l'integrazione avveniva con i metadati del prodotto Enterprise Architect. <\/p>\n<p>Grazie all'integrazione dello strumento low-code e di Enterprise Architect, sono state generate automaticamente le seguenti verifiche:<\/p>\n<ul>\n<li>Verifica della presenza di valori \u00abnull\u00bb nei campi con il modificatore \u00abnot null\u00bb; <\/li>\n<li>Verifica della presenza di duplicati nella chiave primaria;<\/li>\n<li>Verifica della chiave esterna dell'entit\u00e0;<\/li>\n<li>Verifica dell'unicit\u00e0 della riga in base a un insieme di campi.<\/li>\n<\/ul>\n<p>\nPer controlli pi\u00f9 complessi di disponibilit\u00e0 e validit\u00e0 dei dati, \u00e8 stata creata una mappatura con Scala Expression, che accetta come input codice Spark SQL esterno di verifica, preparato dagli analisti in Zeppelin.<\/p>\n<p><img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCerto, l'auto-generazione delle verifiche deve avvenire gradualmente. Nell'ambito del progetto descritto, sono stati preceduti dai seguenti passaggi:<\/p>\n<ul>\n<li>DQ, realizzati nei notebook Zeppelin;<\/li>\n<li>DQ, incorporati nella mappatura;<\/li>\n<li>DQ in forma di mappature massive separate, contenenti un insieme di verifiche per ogni entit\u00e0;<\/li>\n<li>Mappature DQ parametrizzate universali, che accettano informazioni su metadati e verifiche aziendali.<\/li>\n<\/ul>\n<p>\nUno dei principali vantaggi della creazione di un servizio di controlli parametrici \u00e8 la riduzione dei tempi di consegna delle funzionalit\u00e0 nell'ambiente di produzione. I nuovi controlli di qualit\u00e0 possono bypassare il classico modello di consegna del codice attraverso gli ambienti di sviluppo e test:<\/p>\n<ul>\n<li>Tutti i controlli dei metadati vengono generati automaticamente quando si modifica il modello in EA;<\/li>\n<li>I controlli di disponibilit\u00e0 dei dati (determinazione della presenza di dati in un determinato momento) possono essere generati sulla base di un catalogo che conserva il timing atteso per l'apparizione della prossima serie di dati per oggetti specifici;<\/li>\n<li>I controlli di business per la validit\u00e0 dei dati vengono creati dagli analisti nei notebook Zeppelin. Da l\u00ec, vengono inviati direttamente alle tabelle di configurazione del modulo DQ nell'ambiente di produzione. <\/li>\n<\/ul>\n<p>\nI rischi legati al caricamento diretto degli script in produzione sono praticamente assenti. Anche in caso di errore sintattico, il massimo che possiamo rischiare \u00e8 il mancato completamento di un controllo, poich\u00e9 il flusso di calcolo dei dati e il flusso di attivazione dei controlli di qualit\u00e0 sono separati.<\/p>\n<p>In sostanza, il servizio DQ \u00e8 permanentemente attivo in un ambiente di produzione ed \u00e8 pronto a iniziare a funzionare non appena arriva un nuovo insieme di dati. <\/p>\n<h2>In conclusion<\/h2>\n<p>\nIl vantaggio dell'utilizzo del low-code \u00e8 evidente. Gli sviluppatori non devono costruire l'applicazione 'da zero'. Un programmatore sollevato da compiti aggiuntivi produce risultati pi\u00f9 rapidamente. La velocit\u00e0, a sua volta, libera risorse aggiuntive di tempo per affrontare questioni di ottimizzazione. Pertanto, in questo caso, ci si pu\u00f2 aspettare soluzioni di qualit\u00e0 superiore e pi\u00f9 rapide.<\/p>\n<p><b>Certamente, il low-code non \u00e8 una panacea e la magia non avverr\u00e0 da sola:<\/b><\/p>\n<ul>\n<li>L'industria del low-code sta attraversando una fase di 'rafforzamento' e non ci sono ancora standard industriali uniformi;<\/li>\n<li>Molte soluzioni low-code non sono gratuite e l'acquisto deve essere un passo consapevole, da fare con piena fiducia nel beneficio finanziario del loro uso;<\/li>\n<li>Molte soluzioni low-code non sempre si integrano bene con GIT \/ SVN. Possono anche essere scomode da utilizzare nel caso si desideri nascondere il codice generato;<\/li>\n<li>L'espansione dell'architettura potrebbe richiedere un'implementazione aggiuntiva di una soluzione low-code, il che a sua volta provoca un effetto di \"attaccamento e dipendenza\" dal fornitore della soluzione low-code.<\/li>\n<li>Un adeguato livello di sicurezza \u00e8 possibile, ma \u00e8 piuttosto laborioso e complesso da attuare per i motori dei sistemi low-code. Le piattaforme low-code non dovrebbero essere selezionate solo in base all'aspettativa di un vantaggio dall'uso. \u00c8 importante porsi domande riguardo alla disponibilit\u00e0 di funzionalit\u00e0 per la gestione degli accessi e per la delega\/escalation delle credenziali a livello dell'intero IT landscape dell'organizzazione.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Applicazione del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/8ad44d2f71f519b70f5ae1e1fe722066.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTuttavia, se sei a conoscenza di tutti gli svantaggi del sistema scelto e i benefici del suo utilizzo sono comunque largamente predominanti, passa al low-code senza timore. Soprattutto perch\u00e9 la transizione \u00e8 inevitabile, cos\u00ec come ogni evoluzione.<\/p>\n<p>Se un sviluppatore su una piattaforma low-code riesce a lavorare pi\u00f9 velocemente di due sviluppatori senza low-code, questo d\u00e0 all'azienda un vantaggio sotto molti aspetti. La soglia di ingresso nelle soluzioni low-code \u00e8 pi\u00f9 bassa rispetto alle tecnologie \"tradizionali\", e questo influisce positivamente sulla questione della carenza di personale. Utilizzando strumenti low-code, \u00e8 possibile accelerare la collaborazione tra i team funzionali e prendere decisioni pi\u00f9 rapidamente sulla correttezza dell'approccio scelto nelle ricerche di data science. Le piattaforme low-code possono essere un fattore trainante per la trasformazione digitale dell'organizzazione, poich\u00e9 le soluzioni create possono essere comprensibili anche per specialisti non tecnici (in particolare, utenti di business). <\/p>\n<p>Se avete scadenze ravvicinate, complessit\u00e0 nella logica aziendale, mancanza di esperienze tecnologiche e necessitate di accelerare il time to market, allora il low-code \u00e8 uno dei modi per soddisfare le vostre esigenze.<\/p>\n<p>\u00c8 innegabile l'importanza degli strumenti di sviluppo tradizionali, ma in molti casi l'uso di soluzioni low-code \u00e8 il modo migliore per aumentare l'efficienza nella risoluzione delle problematiche.<br \/>\n<br \/>Fonte: <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 4.9.10 - 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 \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\" \/>\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\/it\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Applicazione low-code nelle piattaforme analitiche | ProHoster","description":"Cari lettori, buongiorno! La costruzione di piattaforme IT per l'accumulo e l'analisi dei dati si presenta, prima o poi, a qualsiasi azienda il cui modello di business si basa su un servizio intellettualmente carico o sulla creazione di prodotti tecnicamente complessi. Costruire piattaforme analitiche \u00e8 un compito difficile e laborioso. Tuttavia, qualsiasi compito pu\u00f2 essere semplificato. In questo articolo voglio condividere l'esperienza nell'applicazione","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 \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","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/95283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=95283"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/95283\/revisions"}],"predecessor-version":[{"id":162190,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/95283\/revisions\/162190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/95284"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=95283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=95283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=95283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}