{"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":"Utilizzo del low-code nelle piattaforme analitiche","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Gentili lettori, buon giorno!<\/p>\n<p>Il compito di costruire piattaforme IT per la raccolta e l'analisi dei dati prima o poi si presenta a qualsiasi azienda, la cui attivit\u00e0 si basa su un modello di servizi intellettualmente impegnativo o sulla creazione di prodotti tecnicamente complessi. La costruzione di piattaforme analitiche \u00e8 un compito complesso e dispendioso in termini di risorse. Tuttavia, qualsiasi compito pu\u00f2 essere semplificato. 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 durante la realizzazione di vari progetti nel campo delle Big Data Solutions dell'azienda \"Neoflex\". Il settore delle Big Data Solutions dell'azienda \"Neoflex\" si occupa dal 2005 della costruzione di archivi e laghi di dati, affrontando le sfide della velocit\u00e0 di elaborazione delle informazioni e lavorando sulla metodologia di gestione della qualit\u00e0 dei dati.<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEvitare l'accumulo consapevole di dati poco e\/o molto strutturati non sar\u00e0 possibile per nessuno. Probabilmente, anche se si tratta di piccole imprese. Infatti, con la scala dell'attivit\u00e0, un imprenditore prospettico si trover\u00e0 ad affrontare questioni come la creazione di un programma di fidelizzazione, desiderer\u00e0 analizzare l'efficacia dei punti vendita, penser\u00e0 alla pubblicit\u00e0 targetizzata e si interesser\u00e0 alla domanda di prodotti accessori. In una prima approssimazione, il problema pu\u00f2 essere risolto \"alla buona\". Ma con la crescita dell'azienda, l'approdo a una piattaforma analitica \u00e8 comunque inevitabile.<\/p>\n<p>Tuttavia, in quale caso le attivit\u00e0 di analisi dei dati possono trasformarsi in compiti di \"Rocket Science\"? Probabilmente nel momento in cui si parla 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=\"Utilizzo 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'intera azienda elaborare l'elefante.<\/p>\n<p>A questa conclusione sono giunti praticamente tutti i nostri clienti, ristrutturando il panorama basandosi sulle pratiche ingegneristiche dei team DevOps.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMa anche con una dieta \"separata, da elefante\" abbiamo buone probabilit\u00e0 di \"sovraccarico\" nel panorama IT. In questo momento vale la pena fermarsi, respirare e guardare verso <b>low-code engineering platform<\/b>.<\/p>\n<p>Molti sviluppatori sono spaventati dalla prospettiva di un vicolo cieco nella loro carriera, passando dalla scrittura diretta di codice al \"trascinamento\" di elementi nelle interfacce utente dei sistemi low-code. Tuttavia, l'arrivo delle macchine 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 nei settori della logistica, delle telecomunicazioni, nella ricerca di mercato e nel settore finanziario \u00e8 sempre associata alle seguenti domande: <\/p>\n<ul>\n<li>Velocit\u00e0 nell'esecuzione dell'analisi automatizzata;<\/li>\n<li>Possibilit\u00e0 di eseguire esperimenti senza influenzare il flusso principale di produzione dei dati;<\/li>\n<li>Affidabilit\u00e0 dei dati preparati;<\/li>\n<li>Monitoraggio delle modifiche e versioning;<\/li>\n<li>Data provenance, Data lineage, CDC;<\/li>\n<li>Rapidit\u00e0 nella consegna di nuove funzionalit\u00e0 nell'ambiente di produzione;<\/li>\n<li>E la famosa: costo di sviluppo e supporto.<\/li>\n<\/ul>\n<p>\nCi\u00f2 significa che gli ingegneri hanno un'enorme quantit\u00e0 di compiti ad alto livello, che possono essere svolti con sufficiente efficienza solo liberando la mente dai compiti di sviluppo a basso livello.<\/p>\n<p>Le premesse per il passaggio degli sviluppatori a un nuovo livello sono state l'evoluzione e la digitalizzazione del business. Il valore dello sviluppatore cambia anche: c'\u00e8 una notevole carenza di sviluppatori in grado di immergersi nella sostanza dei concetti di business automatizzati.<\/p>\n<p>Facciamo un'analogia tra i linguaggi di programmazione a basso livello e quelli ad alto livello. Il passaggio dai linguaggi a basso livello verso quelli ad alto livello \u00e8 il passaggio dalla scrittura di \"direttive dirette nella lingua della macchina\" a \"direttive nella lingua delle persone\". Cio\u00e8, l'aggiunta di uno strato di astrazione. In questo caso, passare dalle piattaforme low-code a linguaggi di programmazione ad alto livello significa passare da \"direttive nella lingua delle persone\" a \"direttive nella lingua del business\". Se ci sono sviluppatori a cui questo fatto dispiace, allora sono dispiaciuti, forse, fin dal momento in cui \u00e8 apparso JavaScript, dove vengono utilizzate funzioni di ordinamento degli array. E queste funzioni, ovviamente, hanno dietro di esse un'implementazione software attraverso altri mezzi della stessa programmazione ad alto livello.<\/p>\n<p><b>Di conseguenza, il low-code \u00e8 semplicemente l'emergere di un ulteriore livello di astrazione. <\/b><\/p>\n<h2>Esperienza pratica nell'utilizzo del low-code<\/h2>\n<p>\nIl tema low-code \u00e8 abbastanza ampio, ma ora vorrei parlare dell'applicazione pratica dei \u00abconcetti low-code\u00bb attraverso un esempio di uno dei nostri progetti.<\/p>\n<p>La divisione Big Data Solutions di Neoflex si specializza principalmente nel settore finanziario, costruendo archivi e laghi di dati e automatizzando vari report. In questo ambito, l'uso del low-code \u00e8 diventato uno standard da tempo. Tra gli altri strumenti low-code, possiamo citare strumenti per la gestione dei processi ETL: Informatica Power Center, IBM Datastage, Pentaho Data Integration. O Oracle Apex, che funge da ambiente di sviluppo rapido per interfacce di accesso e modifica dei dati. Tuttavia, l'uso di strumenti di sviluppo low-code non \u00e8 sempre associato alla costruzione di applicazioni dedicate su stack tecnologici commerciali 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 piattaforme di data science o, ad esempio, moduli di verifica della qualit\u00e0 dei dati. <\/p>\n<p>Uno degli esempi pratici di utilizzo di strumenti di sviluppo low-code \u00e8 la collaborazione tra Neoflex e la societ\u00e0 Mediascope, uno dei leader nel mercato russo delle ricerche sui media. Uno degli obiettivi di business di questa societ\u00e0 \u00e8 la creazione di dati, sulla base dei quali gli inserzionisti, le piattaforme online, le emittenti televisive, le stazioni radio, le agenzie pubblicitarie e i marchi prendono decisioni sull'acquisto di pubblicit\u00e0 e pianificano le loro comunicazioni di marketing. <\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe ricerche sui media sono un settore aziendale tecnologicamente complesso. Il riconoscimento delle immagini video, la raccolta di dati da dispositivi che analizzano la visione, la misurazione dell'attivit\u00e0 su risorse web: tutto ci\u00f2 implica che la societ\u00e0 disponga di un ampio personale IT e di un'eccezionale esperienza nella costruzione di soluzioni analitiche. Ma la crescita esponenziale della quantit\u00e0 di informazioni, del numero e della variet\u00e0 delle sue fonti richiede un costante progresso nell'industria dei dati IT. La soluzione pi\u00f9 semplice per scalare una piattaforma analitica gi\u00e0 funzionante di Mediascope potrebbe essere l'aumento del personale IT. Ma una soluzione molto pi\u00f9 efficace \u00e8 l'accelerazione del processo di sviluppo. Uno dei passi verso questa direzione potrebbe essere l'adozione 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 della soluzione su MSSQL non poteva soddisfare pienamente le aspettative riguardo alla scalabilit\u00e0 delle funzionalit\u00e0 mantenendo un costo di modifica accettabile.<\/p>\n<p>Il compito che ci si trovava di fronte era davvero ambizioso: \u00abNeoflex\u00bb e Mediascope dovevano creare una soluzione industriale in meno di un anno, con la condizione di lanciare un MVP gi\u00e0 durante il primo trimestre dalla data di inizio lavori.<\/p>\n<p>Come fondamento per la costruzione della nuova piattaforma dati, basata su elaborazioni low-code, \u00e8 stato scelto il stack tecnologico Hadoop. Lo standard per la memorizzazione dei dati \u00e8 diventato HDFS utilizzando file nel formato parquet. Per accedere ai dati presenti nella piattaforma \u00e8 stato utilizzato Hive, in cui tutte le vetrine disponibili sono presentate sotto forma di tabelle esterne. Il caricamento dei dati nel magazzino \u00e8 stato realizzato con l'aiuto di 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 lavoro nella costruzione di una piattaforma analitica: il compito di calcolo dei dati.<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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 la mappatura dei dati \u00e8 stato scelto lo strumento low-code Datagram. <b>Neoflex Datagram<\/b> \u2014 \u00e8 uno strumento per lo sviluppo di trasformazioni e flussi di dati. <br \/>\nUtilizzando questo strumento, \u00e8 possibile evitare di scrivere codice Scala \"manualmente\". Il codice Scala viene generato automaticamente utilizzando un 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 sorgenti\/destinazioni;<\/li>\n<li>Tracciamento della provenienza degli oggetti del flusso dati fino ai singoli campi (lineage);<\/li>\n<li>Esecuzione parziale delle trasformazioni con visualizzazione dei risultati intermedi;<\/li>\n<li>Visualizzazione del codice sorgente e la sua correzione 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 per le soluzioni low-code per la generazione di trasformazioni \u00e8 abbastanza bassa: un sviluppatore deve conoscere SQL e avere esperienza con strumenti ETL. \u00c8 importante precisare che i generatori di trasformazioni driven-by-code non sono strumenti ETL nel senso ampio della parola. Gli strumenti low-code potrebbero non avere un proprio ambiente per l'esecuzione del codice. In altre parole, il codice generato verr\u00e0 eseguito nell'ambiente esistente nel cluster prima dell'installazione della soluzione low-code. E questo \u00e8, forse, un ulteriore punto a favore del low-code. Infatti, parallelamente al team low-code, pu\u00f2 lavorare un team \u201cclassico\u201d che implementa le funzionalit\u00e0, ad esempio, usando puro codice Scala. L'integrazione delle modifiche di entrambi i team in produzione sar\u00e0 semplice e \u201csenza cuciture\u201d.<\/p>\n<p>Vale la pena notare che oltre al low-code, ci sono anche soluzioni no-code. E per sua natura, si tratta di cose diverse. Il low-code permette in larga misura allo sviluppatore di intervenire sul codice generato. Nel caso di Datagram \u00e8 possibile visualizzare e modificare il codice Scala generato, mentre il no-code potrebbe non offrire questa possibilit\u00e0. Questa differenza \u00e8 piuttosto sostanziale non solo in termini di flessibilit\u00e0 della soluzione, ma anche in termini di comfort e motivazione per il lavoro degli ingegneri dei dati. <\/p>\n<h2>Architettura della soluzione<\/h2>\n<p>\nProvando a comprendere come lo strumento low-code aiuti a risolvere il problema dell'ottimizzazione della velocit\u00e0 di sviluppo delle funzionalit\u00e0 di calcolo dei dati. Per cominciare, analizziamo l'architettura funzionale del sistema. In questo caso, un esempio \u00e8 il modello di produzione dei dati per le ricerche sui media.<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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 molto eterogenee e variegate:<\/b><\/p>\n<ul>\n<li>I meter di ascolto (TV-meter) sono dispositivi software e hardware che registrano il comportamento degli utenti nei panel televisivi - chi, quando e quale canale televisivo \u00e8 stato guardato nelle famiglie partecipanti allo studio. Le informazioni fornite consistono in un flusso di intervalli di visione televisiva, collegati a pacchetti media e prodotti media. I dati durante la fase di caricamento nel Data Lake possono essere arricchiti con attributi demografici, collegamenti a geo-strategie, fuso orario e altre informazioni necessarie per condurre un'analisi della visione di specifici prodotti media. Le misurazioni effettuate possono essere utilizzate per l'analisi o la pianificazione di campagne pubblicitarie, per valutare l'attivit\u00e0 e le preferenze del pubblico, e per la creazione di palinsesti.<\/li>\n<li>I dati possono provenire da sistemi di monitoraggio delle trasmissioni televisive in streaming e dalla misurazione della visione di contenuti su piattaforme video online.<\/li>\n<li>Strumenti di misurazione nell'ambiente web, che comprendono sia contatori site-centric che user-centric. Un'estensione del browser, la research bar, e un'applicazione mobile integrata possono servire come fornitori 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 delle indagini online e dei colloqui telefonici condotti nelle ricerche aziendali.<\/li>\n<li>Un ulteriore arricchimento del lago dati pu\u00f2 avvenire tramite il caricamento di informazioni dai log delle aziende partner.<\/li>\n<\/ul>\n<p>\nL'implementazione del caricamento as is dai sistemi sorgente nei dati grezzi staging primari pu\u00f2 essere organizzata in vari modi. Se si utilizza low-code per questi scopi, \u00e8 possibile generare automaticamente scenari di caricamento basati sui metadati, evitando cos\u00ec di scendere a livello di sviluppo delle mappature source to target. Per realizzare un 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 funzionalit\u00e0 delle piattaforme low-code, poich\u00e9 l'azienda Mediascope ha gi\u00e0 iniziato a lavorare autonomamente alla creazione di un servizio simile utilizzando Nifi + Kafka.<\/p>\n<p>\u00c8 importante sottolineare che questi strumenti non sono sostitutivi, 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 media analytics \u00e8 stata utilizzata la prima opzione di collegamento.<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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 vari tipi di dati da sistemi sorgente e inviarli al broker Kafka. In questo caso, l'invio dei messaggi verso un determinato topic Kafka avveniva tramite l'uso dei processori Nifi PublishKafka. L'orchestrazione e la gestione di questi pipeline avvengono in un'interfaccia visiva. Lo strumento Nifi e l'utilizzo della combinazione Nifi + Kafka possono essere chiamati anche approccio low-code allo sviluppo, con una bassa barriera d'ingresso nelle tecnologie Big Data che accelera il processo di sviluppo delle applicazioni. <\/p>\n<p>La fase successiva nella realizzazione del progetto consisteva nell'allineare al formato di un unico livello semantico i dati dettagliati. In caso di presenza di attributi storici per un'entit\u00e0, il calcolo viene effettuato nel contesto della partizione presa in considerazione. Se l'entit\u00e0 non \u00e8 storica, \u00e8 facoltativamente possibile effettuare il ricalcolo di tutto il contenuto dell'oggetto, oppure rinunciare completamente al ricalcolo di questo oggetto (a causa dell'assenza di modifiche). In questa fase vengono generati i chiavi per tutte le entit\u00e0. Le chiavi vengono salvate nei relativi master oggetti degli indici Hbase, contenenti la corrispondenza tra le chiavi nella piattaforma analitica e le chiavi dai sistemi sorgente. La consolidazione delle entit\u00e0 atomiche \u00e8 accompagnata dall'arricchimento con i risultati del calcolo preliminare dei dati analitici. Il framework per il calcolo dei dati era Spark. La funzionalit\u00e0 descritta per l'allineamento dei dati a un'unica semantica \u00e8 stata realizzata anche sulla base delle mappature dello strumento low-code Datagram.<\/p>\n<p>Nell'architettura di destinazione era necessario garantire l'accesso SQL ai dati per gli utenti business. Per questa opzione \u00e8 stato utilizzato 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=\"Utilizzo 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 progettazione dei flussi di lavoro. L'esecuzione delle mappature pu\u00f2 avvenire utilizzando il pianificatore Oozie. Nell'interfaccia dello sviluppatore dei flussi \u00e8 possibile creare schemi di trasformazione dei dati paralleli, sequenziali o condizionati. \u00c8 supportato l'uso di script shell e programmi Java. \u00c8 possibile anche 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 \u00e8 utilizzato per avviare applicazioni direttamente dall'ambiente di sviluppo. <\/p>\n<p>Nel caso in cui un'azienda abbia gi\u00e0 un proprio orchestratore di processi, \u00e8 possibile utilizzare l'API REST per integrare le mappature nel flusso gi\u00e0 esistente. Ad esempio, abbiamo avuto esperienze molto positive nell'integrazione di mappature in Scala in orchestratori scritti in PLSQL e Kotlin. L'API REST dello strumento low-code prevede operazioni come la generazione di un anno eseguibile basato sul design della mappatura, la chiamata delle mappature, la chiamata di sequenze di mappature e, naturalmente, il passaggio di parametri nell'URL per l'esecuzione delle mappature.<\/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 dei lavori del progetto di ricerca sui media, la scelta \u00e8 ricaduta su Airflow. I principali argomenti a favore sono stati una comunit\u00e0 pi\u00f9 attiva nello sviluppo del prodotto e un'interfaccia + API pi\u00f9 evoluta.<\/p>\n<p>Airflow \u00e8 anche vantaggioso perch\u00e9 utilizza Python, molto amato per la descrizione dei processi di calcolo. Inoltre, non ci sono molte piattaforme di gestione dei flussi di lavoro open source. L'esecuzione e il monitoraggio delle attivit\u00e0 (comprese le viste delle diagrammi di Gantt) aggiungono ulteriori punti a favore di Airflow. <\/p>\n<p>Il formato del file di configurazione per l'avvio delle mappature della soluzione low-code \u00e8 diventato spark-submit. Ci\u00f2 \u00e8 avvenuto per due motivi. Innanzitutto, 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 (semplificando la scrittura di script che generano Dag).<br \/>\nL'elemento di flusso di lavoro di Airflow pi\u00f9 comune nel nostro caso \u00e8 diventato SparkSubmitOperator.<\/p>\n<p>SparkSubmitOperator consente di eseguire file jar \u2014 mappature Datagram pacchettizzate con i parametri di ingresso gi\u00e0 formati per loro.<\/p>\n<p>Va notato che ogni task di Airflow viene eseguito in un thread separato e non ha conoscenza degli altri task. Pertanto, l'interazione tra i task avviene attraverso operatori di controllo, come DummyOperator o BranchPythonOperator.<\/p>\n<p>L'uso combinato della soluzione low-code Datagram e dell'universalizzazione 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 complessa dal punto di vista intellettuale nella produzione di dati analitici \u00e8 il processo di costruzione delle vetrine. Nel contesto di uno dei flussi di calcolo dei dati di una societ\u00e0 di ricerca, in questa fase viene effettuata una conversione alla traduzione di riferimento tenendo conto delle correzioni per i fusi orari in relazione alla griglia di trasmissione. \u00c8 anche possibile tenere conto della griglia locale di trasmissione (notizie e pubblicit\u00e0 locali). Tra l'altro, in questo passaggio si esegue la suddivisione degli intervalli di visione continua dei prodotti multimediali basata sull'analisi degli intervalli di visione. In questo momento avviene anche il<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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 separato nella preparazione delle vetrine \u00e8 la validazione dei dati. L'algoritmo di validazione \u00e8 collegato all'applicazione di una serie di modelli matematici della scienza. Tuttavia, l'utilizzo di una piattaforma low-code consente di suddividere un algoritmo complesso in una serie di mappature visivamente leggibili. Ognuna di queste mappature svolge un compito specifico. Di conseguenza, \u00e8 possibile effettuare un debug intermedio, il logging e la visualizzazione delle fasi di preparazione dei dati. <\/p>\n<p>\u00c8 stato deciso di discretizzare l'algoritmo di validazione nei seguenti sotto-passi:<\/p>\n<ul>\n<li>Costruzione delle regressioni delle dipendenze della visione della rete televisiva nella regione rispetto alla visione di tutte le reti nella regione negli ultimi 60 giorni. <\/li>\n<li>Calcolo dei residui studensizzati (deviazione dei valori effettivi da quelli previsti dal modello di regressione) per tutti i punti di regressione e per il giorno di calcolo.<\/li>\n<li>Selezione delle coppie anomale regione-rete televisiva, in cui il residuo studensizzato del giorno di calcolo supera la norma (impostata dalla configurazione dell'operazione).<\/li>\n<li>Il conteggio del residuo standardizzato corretto per le coppie anomale regione-rete televisiva per ogni rispondente che ha guardato la rete nella regione con la determinazione del contributo di tale rispondente (l'entit\u00e0 della variazione del residuo standardizzato) escludendo la visione di tale rispondente dal campione.<\/li>\n<li>Ricerca di candidati, la cui esclusione porta il residuo standardizzato del giorno di calcolo alla norma. <\/li>\n<\/ul>\n<p>\nL'esempio sopra riportato \u00e8 una conferma dell'ipotesi che un data engineer ha gi\u00e0 un carico eccessivo di informazioni da gestire\u2026 E, se \u00e8 davvero un 'ingegnere' e non un 'codificatore', la paura di una degradazione professionale nell'uso di strumenti low-code dovrebbe alla fine svanire.<\/p>\n<h2>Cosa pu\u00f2 fare ancora il low-code?<\/h2>\n<p>\nL'ambito di applicazione dello strumento low-code per l'elaborazione dei dati in batch e in streaming senza la necessit\u00e0 di scrivere codice manualmente in Scala non finisce qui.<\/p>\n<p>L'uso del low-code nello sviluppo dei datalake \u00e8 diventato per noi uno standard. Si potrebbe dire che le soluzioni basate su Hadoop seguono il percorso di sviluppo dei tradizionali DWH basati su RDBMS. Gli strumenti low-code basati su Hadoop possono affrontare sia compiti di elaborazione dei dati che compiti di costruzione di interfacce BI finali. \u00c8 importante notare che per BI si pu\u00f2 intendere non solo la rappresentazione dei dati, ma anche la loro modifica da parte degli utenti business. Questa funzionalit\u00e0 \u00e8 spesso utilizzata nella costruzione di piattaforme analitiche per il settore finanziario. <\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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, grazie a low-code e, in particolare, a Datagram, \u00e8 possibile affrontare la questione del tracciamento dell'origine degli oggetti nel flusso di dati con atomicit\u00e0 fino ai singoli campi (lineage). Per questo, nel tool low-code \u00e8 stata implementata un'integrazione con Apache Atlas e Cloudera Navigator. In sostanza, lo sviluppatore deve registrare un set di oggetti nei dizionari di Atlas e fare riferimento agli oggetti registrati durante la creazione delle mappature. Il meccanismo di tracciamento dell'origine dei dati o di analisi delle dipendenze tra oggetti fa risparmiare molto tempo quando \u00e8 necessario apportare modifiche agli algoritmi di calcolo. Ad esempio, nella redazione dei rendiconti finanziari, questa funzionalit\u00e0 consente di affrontare pi\u00f9 agevolmente il periodo di cambiamenti legislativi. Infatti, pi\u00f9 siamo consapevoli della dipendenza interformale in relazione agli oggetti del livello dettagliato, meno ci imbatteremo in difetti <\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo 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'altra sfida affrontata dal tool low-code nel progetto dell'azienda Mediascope \u00e8 stata quella relativa alla qualit\u00e0 dei dati. Una delle peculiarit\u00e0 della realizzazione della pipeline di verifica dei dati per il progetto dell'azienda di ricerca \u00e8 stata l'assenza di impatti 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 l'ormai conosciuto Apache Airflow. Man mano che ciascun passaggio della produzione dei dati era pronto, veniva avviata in parallelo una parte separata della pipeline DQ. <\/p>\n<p>\u00c8 considerata una buona pratica monitorare la qualit\u00e0 dei dati sin dal loro inizio nella piattaforma analitica. Con le informazioni sui metadati, possiamo gi\u00e0 controllare, fin dal momento in cui le informazioni entrano nel livello primario, il rispetto delle condizioni di base: not null, constraints, foreign keys. Questa funzionalit\u00e0 \u00e8 stata implementata sulla base di mapping generati automaticamente della famiglia data quality in Datagram. Nel progetto dell'azienda Mediascope, l'integrazione si \u00e8 svolta con i metadati del prodotto Enterprise Architect. <\/p>\n<p>Grazie all'integrazione tra il tool low-code e Enterprise Architect, sono state generate automaticamente le seguenti verifiche:<\/p>\n<ul>\n<li>Verifica della presenza di valori 'null' nei campi con il modificatore 'not null'; <\/li>\n<li>Verifica della presenza di duplicati della chiave primaria;<\/li>\n<li>Controllo della chiave esterna dell'entit\u00e0;<\/li>\n<li>Controllo dell'unicit\u00e0 della riga in base a un insieme di campi.<\/li>\n<\/ul>\n<p>\nPer controlli pi\u00f9 complessi sulla disponibilit\u00e0 e l'affidabilit\u00e0 dei dati, \u00e8 stata creata una mappatura con Scala Expression, che accetta un codice di controllo Spark SQL esterno, preparato dagli analisti in Zeppelin.<\/p>\n<p><img decoding=\"async\" alt=\"Utilizzo del low-code nelle piattaforme analitiche\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNaturalmente, l'autogenereazione dei controlli deve avvenire gradualmente. Nel contesto del progetto descritto, sono stati effettuati i seguenti passaggi:<\/p>\n<ul>\n<li>DQ, implementati nei notebook di Zeppelin;<\/li>\n<li>DQ, integrati nella mappatura;<\/li>\n<li>DQ sotto forma di singole mappature massicce, contenenti un insieme di controlli per singole entit\u00e0;<\/li>\n<li>Mappature DQ universali parametriche, che accettano informazioni su metadati e controlli aziendali.<\/li>\n<\/ul>\n<p>\nProbabilmente, il principale vantaggio della creazione di un servizio di controlli parametrici \u00e8 la riduzione del tempo necessario per la consegna delle funzionalit\u00e0 nell'ambiente di produzione. I nuovi controlli della qualit\u00e0 possono bypassare il modello classico di consegna del codice passando attraverso ambienti di sviluppo e di test:<\/p>\n<ul>\n<li>Tutti i controlli dei metadati vengono generati automaticamente quando il modello viene modificato in EA;<\/li>\n<li>I controlli di disponibilit\u00e0 dei dati (determinazione della presenza di dati in un certo momento) possono essere generati sulla base di un registro che memorizza il timing atteso per l'arrivo della prossima porzione di dati suddivisa per oggetti;<\/li>\n<li>I controlli di business per l'affidabilit\u00e0 dei dati vengono creati dagli analisti nei notebook di Zeppelin. Da qui vengono diretti direttamente nelle tabelle di configurazione del modulo DQ nell'ambiente di produzione. <\/li>\n<\/ul>\n<p>\nNon ci sono rischi associati al caricamento diretto di script in produzione. Anche in caso di errore sintattico, la cosa massima che possiamo temere \u00e8 il fallimento di un controllo, poich\u00e9 il flusso di calcolo dei dati e il flusso di avvio dei controlli di qualit\u00e0 sono separati.<\/p>\n<p>In sostanza, il servizio DQ \u00e8 permanentemente attivo nell'ambiente di produzione ed \u00e8 pronto a iniziare il suo lavoro al momento dell'arrivo della prossima porzione di dati. <\/p>\n<h2>In conclusione<\/h2>\n<p>\nIl vantaggio dell'uso del low-code \u00e8 evidente. Gli sviluppatori non devono sviluppare un'applicazione \"da zero\". Un programmatore liberato da compiti aggiuntivi produce risultati pi\u00f9 velocemente. La velocit\u00e0, a sua volta, libera risorse temporali aggiuntive per risolvere questioni di ottimizzazione. Pertanto, in questo caso, si pu\u00f2 contare su soluzioni pi\u00f9 efficienti e rapide.<\/p>\n<p><b>Naturalmente, il low-code non \u00e8 una panacea e la magia non accadr\u00e0 da sola:<\/b><\/p>\n<ul>\n<li>L'industria low-code sta attraversando una fase di \"consolidamento\", e attualmente non esistono standard industriali omogenei;<\/li>\n<li>Molte soluzioni low-code non sono gratuite e il loro acquisto dovrebbe essere un passo consapevole da intraprendere solo con la completa certezza di un ritorno economico dal loro utilizzo;<\/li>\n<li>Molte soluzioni low-code non sono sempre ben integrate con GIT \/ SVN. Oppure possono risultare scomode in caso di oscuramento del codice generato;<\/li>\n<li>Durante l'espansione dell'architettura, potrebbe essere necessario modificare la soluzione low-code, cosa che provoca l'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 complicato da implementare nei motori delle soluzioni low-code. Le piattaforme low-code devono essere scelte non solo in base al principio di ricerca del profitto derivante dal loro utilizzo. Quando si sceglie, \u00e8 importante considerare la presenza di funzionalit\u00e0 di gestione degli accessi e delega\/escalation dei dati identificativi a livello di intero paesaggio IT dell'organizzazione.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Utilizzo 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 conosci tutti i difetti del sistema scelto e i benefici del suo utilizzo sono comunque predominanti, allora passa al low-code senza timori. Soprattutto considerando che il passaggio a questo \u00e8 inevitabile \u2013 cos\u00ec come ogni evoluzione.<\/p>\n<p>Se un sviluppatore su una piattaforma low-code riesce a svolgere il proprio lavoro pi\u00f9 rapidamente di due sviluppatori senza low-code, questo offre un vantaggio all'azienda in ogni aspetto. La barriera d'ingresso nelle soluzioni low-code \u00e8 pi\u00f9 bassa rispetto alle tecnologie \"tradizionali\", e questo ha un effetto positivo sulla questione della mancanza di personale qualificato. Utilizzando strumenti low-code \u00e8 possibile accelerare l'interazione tra i team funzionali e prendere decisioni pi\u00f9 rapidamente sulla correttezza della strada scelta per le ricerche in data science. Le piattaforme low-code possono essere la causa della trasformazione digitale dell'organizzazione, poich\u00e9 le soluzioni prodotte possono essere comprese anche da specialisti non tecnici (in particolare, utenti aziendali). <\/p>\n<p>Se avete scadenze serrate, logiche aziendali complesse, mancanza di expertise tecnologica, e avete bisogno di accelerare il time to market, allora il low-code \u00e8 uno dei modi per soddisfare le vostre esigenze.<\/p>\n<p>Non si pu\u00f2 negare l'importanza degli strumenti di sviluppo tradizionali, tuttavia in molti casi l'uso di soluzioni low-code \u00e8 il modo migliore per migliorare l'efficienza nelle attivit\u00e0 da svolgere.<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 5.0.1.1 - 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\/it\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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.\" \/>\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 del low-code nelle piattaforme analitiche | ProHoster","description":"Cari lettori, buon giorno! La necessit\u00e0 di costruire piattaforme IT per raccogliere e analizzare i dati prima o poi si presenta in ogni azienda la cui attivit\u00e0 si basa su un modello intellettualmente caricato.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}