{"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\/fr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","title":{"rendered":"L'utilisation du low-code dans les plateformes analytiques","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Chers lecteurs, bonjour !<\/p>\n<p>La n\u00e9cessit\u00e9 de construire des plateformes IT pour l'accumulation et l'analyse de donn\u00e9es se pose t\u00f4t ou tard pour toute entreprise dont le mod\u00e8le commercial repose sur des services intellectuellement exigeants ou sur la cr\u00e9ation de produits techniquement complexes. La construction de plateformes analytiques est une t\u00e2che complexe et laborieuse. Cependant, chaque t\u00e2che peut \u00eatre simplifi\u00e9e. Dans cet article, je souhaite partager mon exp\u00e9rience sur l'utilisation d'outils low-code qui aident \u00e0 cr\u00e9er des solutions analytiques. Cette exp\u00e9rience a \u00e9t\u00e9 acquise lors de la mise en \u0153uvre de plusieurs projets dans le domaine des Solutions Big Data de l'entreprise Neoflex. Depuis 2005, le d\u00e9partement des Solutions Big Data de Neoflex s'occupe de la construction de entrep\u00f4ts et de lacs de donn\u00e9es, r\u00e9sout des probl\u00e8mes d'optimisation de la vitesse de traitement de l'information et travaille sur la m\u00e9thodologie de gestion de la qualit\u00e9 des donn\u00e9es.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9viter l'accumulation consciente de donn\u00e9es faiblement et\/ou fortement structur\u00e9es sera impossible pour quiconque. M\u00eame pour une petite entreprise, cela s'applique. En effet, \u00e0 mesure que l'entreprise se d\u00e9veloppe, l'entrepreneur aspirant sera confront\u00e9 \u00e0 des questions telles que le d\u00e9veloppement d'un programme de fid\u00e9lit\u00e9, l'analyse de l'efficacit\u00e9 des points de vente, la r\u00e9flexion sur la publicit\u00e9 cibl\u00e9e, et se posera des questions sur la demande de produits compl\u00e9mentaires. Dans un premier temps, la t\u00e2che peut \u00eatre r\u00e9solue de mani\u00e8re improvis\u00e9e. Mais avec la croissance de l'entreprise, le recours \u00e0 une plateforme analytique devient in\u00e9vitable.<\/p>\n<p>Cependant, quand les t\u00e2ches d'analyse de donn\u00e9es peuvent-elles se transformer en probl\u00e8mes de type \u00ab Rocket Science \u00bb ? Probablement au moment o\u00f9 il s'agit de donn\u00e9es v\u00e9ritablement massives.<br \/>\nPour simplifier la t\u00e2che \u00ab Rocket Science \u00bb, il est possible de manger un \u00e9l\u00e9phant morceau par morceau. <\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/f81e7704b91a5b95303e4240d6012730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPlus la granularit\u00e9 et l'autonomie de vos applications\/services\/microservices sont grandes, plus il sera facile pour vous, vos coll\u00e8gues et l'ensemble de l'entreprise de dig\u00e9rer l'\u00e9l\u00e9phant.<\/p>\n<p>Cette assertion a \u00e9t\u00e9 adopt\u00e9e par presque tous nos clients, qui ont r\u00e9am\u00e9nag\u00e9 leur paysage en s'appuyant sur les pratiques d'ing\u00e9nierie des \u00e9quipes DevOps.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMais m\u00eame avec un r\u00e9gime \u00ab s\u00e9par\u00e9, \u00e0 base d'\u00e9l\u00e9phant \u00bb, nous avons de bonnes chances de subir une \u00ab saturation \u00bb de l'environnement IT. \u00c0 ce moment-l\u00e0, il convient de faire une pause, de respirer profond\u00e9ment et de se tourner vers <b>la plateforme d'ing\u00e9nierie low-code<\/b>.<\/p>\n<p>De nombreux d\u00e9veloppeurs craignent de se retrouver \u00e0 un point mort dans leur carri\u00e8re en s'\u00e9loignant de l'\u00e9criture de code pour se diriger vers le \u00ab glisser-d\u00e9poser \u00bb d'\u00e9l\u00e9ments dans les interfaces utilisateur des syst\u00e8mes low-code. Cependant, l'apparition des machines-outils n'a pas entra\u00een\u00e9 la disparition des ing\u00e9nieurs, mais a plut\u00f4t \u00e9lev\u00e9 leur travail \u00e0 un nouveau niveau !<\/p>\n<p>Voyons pourquoi.<\/p>\n<p>L'analyse des donn\u00e9es dans le domaine de la logistique, de l'industrie t\u00e9l\u00e9com, des \u00e9tudes m\u00e9diatiques et du secteur financier est toujours li\u00e9e aux questions suivantes : <\/p>\n<ul>\n<li>La rapidit\u00e9 de l'analyse automatis\u00e9e;<\/li>\n<li>La possibilit\u00e9 de r\u00e9aliser des exp\u00e9riences sans affecter le flux principal de production de donn\u00e9es;<\/li>\n<li>La fiabilit\u00e9 des donn\u00e9es pr\u00e9par\u00e9es;<\/li>\n<li>Le suivi des modifications et la versionning;<\/li>\n<li>La provenance des donn\u00e9es, la lign\u00e9e des donn\u00e9es, CDC;<\/li>\n<li>La rapidit\u00e9 de livraison de nouvelles fonctionnalit\u00e9s dans l'environnement de production;<\/li>\n<li>Et le fameux : le co\u00fbt de d\u00e9veloppement et de maintenance.<\/li>\n<\/ul>\n<p>\nCela signifie que les ing\u00e9nieurs ont un grand nombre de t\u00e2ches de haut niveau \u00e0 accomplir, t\u00e2ches que l'on peut r\u00e9aliser avec une efficacit\u00e9 suffisante uniquement en lib\u00e9rant leur esprit des t\u00e2ches de d\u00e9veloppement de bas niveau.<\/p>\n<p>Les pr\u00e9requis au passage des d\u00e9veloppeurs \u00e0 un nouveau niveau ont \u00e9t\u00e9 l'\u00e9volution et la num\u00e9risation des affaires. La valeur d'un d\u00e9veloppeur change \u00e9galement : il y a une forte p\u00e9nurie de d\u00e9veloppeurs capables de plonger dans l'essence des concepts d'affaires \u00e0 automatiser.<\/p>\n<p>Faisons une analogie entre les langages de programmation de bas niveau et de haut niveau. Le passage des langages de bas niveau vers les langages de haut niveau repr\u00e9sente un passage de l'\u00e9criture de \u00ab directives directes en langage machine \u00bb vers \u00ab directives en langage humain \u00bb. Cela signifie l'ajout d'un certain niveau d'abstraction. Dans ce cas, le passage des plateformes low-code des langages de programmation de haut niveau repr\u00e9sente un passage de \u00ab directives en langage humain \u00bb vers \u00ab directives en langage commercial \u00bb. Si des d\u00e9veloppeurs d\u00e9priment \u00e0 ce sujet, alors ils sont peut-\u00eatre tristes depuis le moment o\u00f9 JavaScript est n\u00e9, qui utilise des fonctions de tri de tableaux. Ces fonctions ont, bien entendu, une impl\u00e9mentation logicielle sous le capot, \u00e0 l'aide des m\u00eames moyens de programmation de haut niveau.<\/p>\n<p><b>Par cons\u00e9quent, le low-code n'est qu'un nouvel niveau d'abstraction. <\/b><\/p>\n<h2>L'exp\u00e9rience pratique de l'utilisation du low-code.<\/h2>\n<p>\nLe concept de low-code est assez vaste, mais je voudrais maintenant parler de l'application des \u00ab concepts low-code \u00bb \u00e0 travers l'exemple d'un de nos projets.<\/p>\n<p>La division Big Data Solutions de la soci\u00e9t\u00e9 \u00ab Neoflex \u00bb se sp\u00e9cialise principalement dans le secteur financier, construisant des entrep\u00f4ts et des lacs de donn\u00e9es et automatisant divers rapports. Dans ce cr\u00e9neau, l'utilisation de low-code est devenue une norme depuis longtemps. Parmi d'autres outils low-code, on peut mentionner des solutions pour organiser des processus ETL : Informatica Power Center, IBM Datastage, Pentaho Data Integration. Ou encore Oracle Apex, qui se pr\u00e9sente comme un environnement de d\u00e9veloppement rapide pour les interfaces d'acc\u00e8s et de modification des donn\u00e9es. Cependant, l'utilisation des outils de d\u00e9veloppement low-code n'est pas toujours associ\u00e9e \u00e0 la cr\u00e9ation d'applications \u00e0 usage sp\u00e9cifique sur une pile technologique commerciale avec une d\u00e9pendance clairement d\u00e9finie envers le fournisseur.<\/p>\n<p>Avec les plateformes low-code, il est \u00e9galement possible d'organiser l'orchestration des flux de donn\u00e9es, de cr\u00e9er des plateformes de data science ou, par exemple, des modules de v\u00e9rification de la qualit\u00e9 des donn\u00e9es. <\/p>\n<p>Un des exemples pratiques de l'utilisation d'outils de d\u00e9veloppement low-code est la collaboration entre \u00ab Neoflex \u00bb et la soci\u00e9t\u00e9 Mediascope, un des leaders du march\u00e9 russe de la recherche m\u00e9dia. L'un des objectifs commerciaux de cette entreprise est de produire des donn\u00e9es sur la base desquelles les annonceurs, les plateformes Internet, les cha\u00eenes de t\u00e9l\u00e9vision, les stations de radio, les agences de publicit\u00e9 et les marques prennent des d\u00e9cisions d'achat d'espaces publicitaires et planifient leurs communications marketing. <\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLes \u00e9tudes m\u00e9diatiques sont un domaine d'affaires technologiquement charg\u00e9. La reconnaissance des s\u00e9quences vid\u00e9o, la collecte de donn\u00e9es \u00e0 partir d'appareils analysant les visionnages, la mesure de l'activit\u00e9 sur les ressources web \u2014 tout cela implique que l'entreprise dispose d'un grand personnel informatique et d'une \u00e9norme exp\u00e9rience dans la construction de solutions analytiques. Mais la croissance exponentielle de la quantit\u00e9 d'informations, du nombre et de la diversit\u00e9 de ses sources oblige l'industrie informatique \u00e0 progresser constamment. La solution la plus simple pour l'\u00e9chelle d'une plateforme analytique existante de Mediascope aurait pu \u00eatre d'augmenter le personnel informatique. Mais une solution beaucoup plus efficace est d'acc\u00e9l\u00e9rer le processus de d\u00e9veloppement. Un des pas vers cette direction pourrait \u00eatre l'utilisation de plateformes low-code.<\/p>\n<p>Au moment du lancement du projet, la soci\u00e9t\u00e9 disposait d\u00e9j\u00e0 d'une solution produit fonctionnelle. Cependant, la mise en \u0153uvre de la solution sur MSSQL ne pouvait pas pleinement r\u00e9pondre aux attentes en mati\u00e8re d'\u00e9volutivit\u00e9 des fonctionnalit\u00e9s tout en maintenant un co\u00fbt acceptable pour les ajustements.<\/p>\n<p>La t\u00e2che qui nous attendait \u00e9tait v\u00e9ritablement ambitieuse \u2013 \u00ab Neoflex \u00bb et Mediascope devaient cr\u00e9er une solution industrielle en moins d'un an, avec la condition de lancer le MVP d\u00e8s le premier trimestre \u00e0 compter de la date de d\u00e9but des travaux.<\/p>\n<p>Comme fondation pour la construction de la nouvelle plateforme de donn\u00e9es, bas\u00e9e sur des calculs faible code, la pile technologique Hadoop a \u00e9t\u00e9 choisie. Le standard de stockage des donn\u00e9es est devenu HDFS avec l'utilisation de fichiers au format parquet. Pour acc\u00e9der aux donn\u00e9es sur la plateforme, Hive a \u00e9t\u00e9 utilis\u00e9, o\u00f9 toutes les vitrines disponibles se pr\u00e9sentent sous la forme de tables externes. Le chargement des donn\u00e9es dans le stockage a \u00e9t\u00e9 r\u00e9alis\u00e9 \u00e0 l'aide de Kafka et Apache NiFi.<\/p>\n<p>L'outil faible code dans ce concept a \u00e9t\u00e9 appliqu\u00e9 pour optimiser la t\u00e2che la plus laborieuse dans la construction de la plateforme analytique \u2013 le calcul des donn\u00e9es.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/fe62234ab0ae611a0c4a536ca68af898.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe principal m\u00e9canisme de mapping des donn\u00e9es a \u00e9t\u00e9 choisi comme \u00e9tant l'outil faible code Datagram. <b>Neoflex Datagram<\/b> est un moyen de d\u00e9velopper des transformations et des flux de donn\u00e9es. <br \/>\nEn utilisant cet outil, il est possible de se passer de l'\u00e9criture de code en Scala \u00ab \u00e0 la main \u00bb. Le code Scala est g\u00e9n\u00e9r\u00e9 automatiquement en utilisant une approche d'Architecture Pilot\u00e9e par Mod\u00e8le.<\/p>\n<p>L'avantage \u00e9vident de cette approche est d'acc\u00e9l\u00e9rer le processus de d\u00e9veloppement. Cependant, en plus de la rapidit\u00e9, il y a encore d'autres avantages : <\/p>\n<ul>\n<li>Visualisation du contenu et de la structure des sources\/destinations;<\/li>\n<li>Suivi de l'origine des objets de flux de donn\u00e9es jusqu'aux champs individuels (provenance);<\/li>\n<li>Ex\u00e9cution partielle des transformations avec visualisation des r\u00e9sultats interm\u00e9diaires;<\/li>\n<li>Visualisation du code source et de sa correction avant ex\u00e9cution;<\/li>\n<li>Validation automatique des transformations;<\/li>\n<li>Chargement automatique des donn\u00e9es 1 \u00e0 1.<\/li>\n<\/ul>\n<p>\nLe seuil d'entr\u00e9e dans les solutions low-code pour la g\u00e9n\u00e9ration de transformations est assez bas : un d\u00e9veloppeur doit conna\u00eetre SQL et avoir de l'exp\u00e9rience avec des outils ETL. Cependant, il convient de pr\u00e9ciser que les g\u00e9n\u00e9rateurs de transformations bas\u00e9s sur le code ne sont pas des outils ETL au sens large du terme. Les outils low-code peuvent ne pas disposer de leur propre environnement d'ex\u00e9cution de code. Cela signifie que le code g\u00e9n\u00e9r\u00e9 sera ex\u00e9cut\u00e9 dans l'environnement qui existait sur le cluster avant l'installation de la solution low-code. Et c'est peut-\u00eatre un autre plus pour le low-code. En effet, une \u00e9quipe \u00ab classique \u00bb peut travailler en parall\u00e8le avec l'\u00e9quipe low-code, mettant en \u0153uvre des fonctionnalit\u00e9s, par exemple, dans un code Scala pur. L'int\u00e9gration des modifications des deux \u00e9quipes dans la production sera simple et \u00ab sans couture \u00bb.<\/p>\n<p>Il convient \u00e9galement de noter qu'en plus du low-code, il existe aussi des solutions no-code. En soi, ce sont des choses diff\u00e9rentes. Le low-code permet dans une plus grande mesure au d\u00e9veloppeur d'intervenir dans le code g\u00e9n\u00e9r\u00e9. Dans le cas de Datagram, il est possible de visualiser et de modifier le code Scala g\u00e9n\u00e9r\u00e9, tandis que le no-code peut ne pas offrir cette possibilit\u00e9. Cette diff\u00e9rence est tr\u00e8s significative non seulement en termes de flexibilit\u00e9 de la solution, mais aussi en termes de confort et de motivation au travail des data engineers. <\/p>\n<h2>Architecture de la solution<\/h2>\n<p>\nEssayons de comprendre comment un outil low-code aide \u00e0 r\u00e9soudre le probl\u00e8me d'optimisation de la vitesse de d\u00e9veloppement des fonctionnalit\u00e9s de calcul des donn\u00e9es. Pour commencer, examinons l'architecture fonctionnelle du syst\u00e8me. Dans ce cas, l'exemple est un mod\u00e8le de production de donn\u00e9es pour des recherches m\u00e9diatiques.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/365f1b1cf69bf2a71854eb05c5bba809.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Les sources de donn\u00e9es dans notre cas sont tr\u00e8s h\u00e9t\u00e9rog\u00e8nes et diverses :<\/b><\/p>\n<ul>\n<li>Les Peoplemetres (m\u00e8tres de t\u00e9l\u00e9vision) sont des dispositifs logiciels et mat\u00e9riels qui analysent le comportement des utilisateurs parmi les r\u00e9pondants du panel t\u00e9l\u00e9vis\u00e9, en identifiant qui, quand et quelle cha\u00eene ils ont regard\u00e9e dans le foyer participant \u00e0 l'\u00e9tude. Les informations fournies constituent un flux d'intervalles d'audience directement li\u00e9 aux forfaits m\u00e9diatiques et aux produits m\u00e9diatiques. Les donn\u00e9es lors du chargement dans le Data Lake peuvent \u00eatre enrichies d'attributs d\u00e9mographiques, de liens g\u00e9ographiques, de fuseaux horaires et d'autres informations n\u00e9cessaires \u00e0 l'analyse des audiences des diff\u00e9rents produits m\u00e9diatiques. Les mesures obtenues peuvent \u00eatre utilis\u00e9es pour analyser ou planifier des campagnes publicitaires, \u00e9valuer l'activit\u00e9 et les pr\u00e9f\u00e9rences du public, ainsi que pour \u00e9laborer une grille de programmes.<\/li>\n<li>Les donn\u00e9es peuvent provenir de syst\u00e8mes de surveillance de la t\u00e9l\u00e9vision en streaming et de mesures de visionnage de contenus sur des plateformes vid\u00e9o en ligne.<\/li>\n<li>Les outils de mesure dans l'environnement web comprennent \u00e0 la fois des compteurs centr\u00e9s sur le site et des compteurs centr\u00e9s sur l'utilisateur. Une extension de navigateur, le research bar, et une application mobile int\u00e9gr\u00e9e peuvent servir de fournisseurs de donn\u00e9es pour le Data Lake. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/vpn\/\"   title=\"VPN\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"133\">VPN<\/a>.<\/li>\n<li>Les donn\u00e9es peuvent \u00e9galement provenir de plateformes consolidant les r\u00e9sultats des enqu\u00eates en ligne et les r\u00e9sultats des interviews t\u00e9l\u00e9phoniques r\u00e9alis\u00e9es dans les recherches de l'entreprise.<\/li>\n<li>L'enrichissement additionnel du Data Lake peut se faire par le chargement d'informations \u00e0 partir des journaux des entreprises partenaires.<\/li>\n<\/ul>\n<p>\nL'impl\u00e9mentation du chargement tel quel des syst\u00e8mes sources vers un staging primaire de donn\u00e9es brutes peut \u00eatre organis\u00e9e de diff\u00e9rentes mani\u00e8res. Dans le cas o\u00f9 une approche low-code serait utilis\u00e9e, il est possible de g\u00e9n\u00e9rer automatiquement des sc\u00e9narios de chargement bas\u00e9s sur les m\u00e9tadonn\u00e9es. Cela \u00e9limine la n\u00e9cessit\u00e9 de descendre au niveau de d\u00e9veloppement de mappages source vers cible. Pour r\u00e9aliser un chargement automatique, nous devons \u00e9tablir une connexion avec la source, puis d\u00e9finir dans l'interface de chargement la liste des entit\u00e9s \u00e0 charger. La cr\u00e9ation de la structure des r\u00e9pertoires dans HDFS se fera automatiquement et correspondra \u00e0 la structure de stockage des donn\u00e9es dans le syst\u00e8me source.<\/p>\n<p>Cependant, dans le cadre de ce projet, nous avons d\u00e9cid\u00e9 de ne pas utiliser cette capacit\u00e9 de la plateforme low-code, car la soci\u00e9t\u00e9 Mediascope a d\u00e9j\u00e0 commenc\u00e9 \u00e0 d\u00e9velopper un service similaire bas\u00e9 sur Nifi + Kafka.<\/p>\n<p>Il est important de pr\u00e9ciser que ces outils ne sont pas interchangeables, mais se compl\u00e8tent plut\u00f4t. Nifi et Kafka peuvent fonctionner tant dans une liaison directe (Nifi -&gt; Kafka) que dans l'autre sens (Kafka -&gt; Nifi). La premi\u00e8re option a \u00e9t\u00e9 utilis\u00e9e pour la plateforme de recherche m\u00e9diatique.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/8284ef5bd6d3b947998ffd42bfb66dbd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDans notre cas, Nifi devait traiter diff\u00e9rents types de donn\u00e9es provenant des syst\u00e8mes sources et les transmettre au broker Kafka. Dans ce contexte, l'acheminement des messages vers un topic sp\u00e9cifique de Kafka se faisait par l'utilisation de processeurs Nifi PublishKafka. L'orchestration et la gestion de ces pipelines sont r\u00e9alis\u00e9es via une interface visuelle. L'outil Nifi et l'utilisation de la combinaison Nifi + Kafka peuvent \u00e9galement \u00eatre qualifi\u00e9s d'approche low-code pour le d\u00e9veloppement, offrant un faible seuil d'entr\u00e9e dans les technologies Big Data et acc\u00e9l\u00e9rant le processus de d\u00e9veloppement d'applications. <\/p>\n<p>La prochaine \u00e9tape de la r\u00e9alisation du projet consistait \u00e0 formater un niveau s\u00e9mantique uniforme de donn\u00e9es d\u00e9taill\u00e9es. En cas de pr\u00e9sence d'attributs historiques dans une entit\u00e9, le calcul se fait dans le contexte de la partition consid\u00e9r\u00e9e. Si l'entit\u00e9 n'est pas historique, il est optionnel de recalculer enti\u00e8rement le contenu de l'objet ou d'abandonner compl\u00e8tement le recalcul de cet objet (en raison de l'absence de changements). \u00c0 ce stade, des cl\u00e9s sont g\u00e9n\u00e9r\u00e9es pour toutes les entit\u00e9s. Les cl\u00e9s sont sauvegard\u00e9es dans les r\u00e9pertoires de master-objets Hbase correspondants, contenant la correspondance entre les cl\u00e9s de la plateforme analytique et les cl\u00e9s des syst\u00e8mes sources. La consolidation des entit\u00e9s atomiques est accompagn\u00e9e de l'enrichissement des r\u00e9sultats de pr\u00e9-calcul des donn\u00e9es analytiques. Le framework pour le calcul des donn\u00e9es \u00e9tait Spark. La fonctionnalit\u00e9 d\u00e9crite pour le formatage des donn\u00e9es en une s\u00e9mantique unique a \u00e9galement \u00e9t\u00e9 mise en \u0153uvre sur la base des mappings de l'outil low-code Datagram.<\/p>\n<p>Dans l'architecture cible, il \u00e9tait n\u00e9cessaire d'assurer un acc\u00e8s SQL aux donn\u00e9es pour les utilisateurs m\u00e9tiers. Pour cette option, Hive a \u00e9t\u00e9 utilis\u00e9. L'enregistrement des objets dans Hive se fait automatiquement lorsque l'option \u00ab Enregistrer la table Hive \u00bb est activ\u00e9e dans l'outil low-code.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/a13f7260d067d3d21b7090bd8fa10aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Gestion du flux de calcul<\/h2>\n<p>\nDatagram a une interface pour la conception de flux de travail. Le lancement des mappages peut \u00eatre effectu\u00e9 \u00e0 l'aide du planificateur Oozie. Dans l'interface d\u00e9veloppeur des flux, il est possible de cr\u00e9er des sch\u00e9mas d'ex\u00e9cution de transformations de donn\u00e9es parall\u00e8les, s\u00e9quentielles ou d\u00e9pendantes de conditions donn\u00e9es. Il y a un support pour les scripts shell et les programmes Java. L'utilisation est \u00e9galement possible. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/dts-los-angeles\/\"   title=\"de serveurs\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3662\">de serveurs<\/a> Apache Livy. Apache Livy est utilis\u00e9 pour ex\u00e9cuter des applications directement depuis l'environnement de d\u00e9veloppement. <\/p>\n<p>Si une entreprise poss\u00e8de d\u00e9j\u00e0 son propre orchestrateur de processus, il est possible d'utiliser l'API REST pour int\u00e9grer des mappages dans un flux existant. Par exemple, nous avons eu une exp\u00e9rience assez r\u00e9ussie d'int\u00e9gration de mappages en Scala dans des orchestrateurs \u00e9crits en PLSQL et Kotlin. L'API REST de l'outil low-code implique des op\u00e9rations telles que la g\u00e9n\u00e9ration d'une ann\u00e9e ex\u00e9cutable bas\u00e9e sur le design du mappage, l'appel du mappage, l'appel d'une s\u00e9quence de mappages et, bien s\u00fbr, la transmission de param\u00e8tres dans l'URL pour lancer les mappages.<\/p>\n<p>En plus d'Oozie, il est possible d'organiser un flux de calcul avec Airflow. Je ne vais pas trop m'attarder sur la comparaison entre Oozie et Airflow, je dirai simplement que, dans le contexte des travaux sur le projet d'\u00e9tudes m\u00e9diatiques, le choix s'est port\u00e9 sur Airflow. Les principaux arguments cette fois-ci \u00e9taient une communaut\u00e9 plus active d\u00e9veloppant le produit, et une interface + API plus avanc\u00e9es.<\/p>\n<p>Airflow est \u00e9galement appr\u00e9ci\u00e9 car il utilise le tr\u00e8s appr\u00e9ci\u00e9 Python pour d\u00e9crire les processus de calcul. D'ailleurs, il n'existe pas beaucoup de plateformes de gestion des flux de travail open source. Le lancement et la surveillance de l'ex\u00e9cution des processus (y compris avec un diagramme de Gantt) ajoutent des points appr\u00e9ciables \u00e0 la r\u00e9putation d'Airflow. <\/p>\n<p>Le format du fichier de configuration pour le lancement de mappages de solutions low-code est devenu spark-submit. Cela s'est produit pour deux raisons. Premi\u00e8rement, spark-submit permet de lancer directement un fichier jar depuis la console. Deuxi\u00e8mement, il peut contenir toutes les informations n\u00e9cessaires pour configurer le flux de travail (ce qui facilite l'\u00e9criture de scripts formant le Dag).<br \/>\nL'\u00e9l\u00e9ment le plus fr\u00e9quemment rencontr\u00e9 dans notre flux de travail Airflow est devenu le SparkSubmitOperator.<\/p>\n<p>Le SparkSubmitOperator permet de lancer des jar \u2014 des mappages Datagram emball\u00e9s avec des param\u00e8tres d'entr\u00e9e pr\u00e9alablement d\u00e9finis.<\/p>\n<p>Il convient de mentionner que chaque t\u00e2che Airflow s'ex\u00e9cute dans un thread s\u00e9par\u00e9 et ne sait rien des autres t\u00e2ches. Ainsi, l'interaction entre les t\u00e2ches se fait via des op\u00e9rateurs de contr\u00f4le tels que DummyOperator ou BranchPythonOperator.<\/p>\n<p>L'utilisation conjointe de la solution low-code Datagram et de l'universalisation des fichiers de configuration (formant le Dag) a permis d'acc\u00e9l\u00e9rer et de simplifier consid\u00e9rablement le processus de d\u00e9veloppement des flux de chargement de donn\u00e9es.<\/p>\n<h2>Calcul des vitrines<\/h2>\n<p>\nSans doute, l'\u00e9tape la plus intellectuellement exigeante dans la production de donn\u00e9es analytiques est la construction des vitrines. Dans le contexte de l'un des flux de calcul des donn\u00e9es d'une soci\u00e9t\u00e9 de recherche, \u00e0 ce stade, une r\u00e9f\u00e9rence est \u00e9tablie en tenant compte du fuseau horaire en rapport avec la grille de diffusion. Une correction peut \u00e9galement \u00eatre appliqu\u00e9e pour le r\u00e9seau de diffusion local (actualit\u00e9s locales et publicit\u00e9). Parmi d'autres, cette \u00e9tape implique la segmentation des intervalles d'\u00e9coute continue des produits m\u00e9diatiques bas\u00e9e sur l'analyse des intervalles d'\u00e9coute. C'est aussi \u00e0 cette \u00e9tape que se produit le \u00ab poids \u00bb des valeurs d'\u00e9coute en fonction des informations sur leur importance (calcul d'un coefficient de correction).<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/b5f90f7d1d95c97c9819218aab9079c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUne \u00e9tape distincte de la pr\u00e9paration des vitrines est la validation des donn\u00e9es. L'algorithme de validation est li\u00e9 \u00e0 l'application d'un certain nombre de mod\u00e8les math\u00e9matiques. Cependant, l'utilisation d'une plateforme low-code permet de d\u00e9composer un algorithme complexe en plusieurs mappages lisibles visuellement. Chacun de ces mappages remplit une t\u00e2che sp\u00e9cifique. En cons\u00e9quence, un d\u00e9bogage interm\u00e9diaire, un logging et une visualisation des \u00e9tapes de pr\u00e9paration des donn\u00e9es sont possibles. <\/p>\n<p>Il a \u00e9t\u00e9 d\u00e9cid\u00e9 de discr\u00e9tiser l'algorithme de validation en sous-\u00e9tapes suivantes :<\/p>\n<ul>\n<li>Construction de r\u00e9gressions des d\u00e9pendances d'\u00e9coute de la t\u00e9l\u00e9 dans la r\u00e9gion par rapport \u00e0 l'\u00e9coute de toutes les cha\u00eenes dans la r\u00e9gion sur 60 jours. <\/li>\n<li>Calcul des r\u00e9sidus studentis\u00e9s (\u00e9carts entre les valeurs r\u00e9elles et pr\u00e9vues par le mod\u00e8le de r\u00e9gression) pour tous les points de r\u00e9gression et pour le jour de calcul.<\/li>\n<li>\u00c9chantillonnage des paires anormales r\u00e9gion-t\u00e9l\u00e9vision, o\u00f9 le r\u00e9sidu studentis\u00e9 du jour de calcul d\u00e9passe la norme (d\u00e9finie par les param\u00e8tres de l'op\u00e9ration).<\/li>\n<li>Le recalcul du solde ajust\u00e9 standardis\u00e9 pour des paires anormales r\u00e9gion-t\u00e9l\u00e9 r\u00e9seau pour chaque r\u00e9pondant ayant regard\u00e9 le r\u00e9seau dans la r\u00e9gion, d\u00e9terminant la contribution de ce r\u00e9pondant (le montant du changement du solde standardis\u00e9) en excluant la contribution de ce r\u00e9pondant de l'\u00e9chantillon.<\/li>\n<li>Recherche de candidats dont l'exclusion ram\u00e8ne le solde standardis\u00e9 du jour de calcul \u00e0 la normale. <\/li>\n<\/ul>\n<p>\nL'exemple ci-dessus confirme l'hypoth\u00e8se selon laquelle un data engineer a d\u00e9j\u00e0 trop d'id\u00e9es en t\u00eate\u2026 Et, si c'est vraiment un \u00ab ing\u00e9nieur \u00bb et non un \u00ab codeur \u00bb, alors la peur de la d\u00e9gradation professionnelle due \u00e0 l'utilisation d'outils low-code devrait le quitter d\u00e9finitivement.<\/p>\n<h2>Que peut faire de plus le low-code ?<\/h2>\n<p>\nLe champ d'application de l'outil low-code pour le traitement par lots et en flux de donn\u00e9es sans n\u00e9cessiter d'\u00e9criture manuelle de code en Scala ne s'arr\u00eate pas l\u00e0.<\/p>\n<p>L'utilisation de low-code dans le d\u00e9veloppement de datalakes est d\u00e9j\u00e0 devenue une certaine norme pour nous. On peut probablement dire que les solutions bas\u00e9es sur la pile Hadoop suivent le chemin de d\u00e9veloppement des DWH classiques bas\u00e9s sur les SGBD. Les outils low-code sur la pile Hadoop peuvent r\u00e9soudre \u00e0 la fois des t\u00e2ches de traitement de donn\u00e9es et des t\u00e2ches de cr\u00e9ation d'interfaces BI finales. Il convient de noter que le BI peut ne pas seulement impliquer la repr\u00e9sentation des donn\u00e9es, mais aussi leur \u00e9dition par des utilisateurs professionnels. Cette fonctionnalit\u00e9 est souvent utilis\u00e9e par nous pour construire des plateformes analytiques pour le secteur financier. <\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/cde5ce9dac9fcc9356b2b0ed291e299c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nParmi d'autres, gr\u00e2ce au low-code et en particulier \u00e0 Datagram, il est possible de r\u00e9soudre la probl\u00e9matique du suivi de l'origine des objets de flux de donn\u00e9es avec une granularit\u00e9 jusqu'aux champs individuels (lineage). Pour cela, l'outil low-code int\u00e8gre un couplage avec Apache Atlas et Cloudera Navigator. En essence, le d\u00e9veloppeur doit enregistrer une s\u00e9rie d'objets dans les dictionnaires Atlas et faire r\u00e9f\u00e9rence \u00e0 ces objets enregistr\u00e9s lors de la construction des mappages. Le m\u00e9canisme de tra\u00e7abilit\u00e9 des donn\u00e9es ou d'analyse des d\u00e9pendances des objets permet de gagner un temps consid\u00e9rable lors de la n\u00e9cessit\u00e9 d'apporter des modifications aux algorithmes de calcul. Par exemple, lors de l'\u00e9tablissement de rapports financiers, cette fonctionnalit\u00e9 permet de mieux surmonter les p\u00e9riodes de changements l\u00e9gislatifs. En effet, plus nous comprenons la d\u00e9pendance inter-formulaire en ce qui concerne les objets du niveau d\u00e9taill\u00e9, moins nous serons confront\u00e9s \u00e0 des d\u00e9fauts \u00ab soudains \u00bb et nous r\u00e9duirons le nombre de r\u00e9visions. <\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/0b351b116564090bd03f6adf3fc52616.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Qualit\u00e9 des donn\u00e9es &amp; Low-code<\/h2>\n<p>\nUne autre t\u00e2che mise en \u0153uvre par l'outil low-code dans le projet de la soci\u00e9t\u00e9 Mediascope \u00e9tait de la classe Qualit\u00e9 des donn\u00e9es. La particularit\u00e9 de la mise en \u0153uvre du pipeline de v\u00e9rification des donn\u00e9es pour le projet de cette soci\u00e9t\u00e9 de recherche \u00e9tait l'absence d'impact sur la fonctionnalit\u00e9 et la vitesse de l'\u00e9coulement principal du calcul des donn\u00e9es. Pour orchestrer des flux ind\u00e9pendants de v\u00e9rification des donn\u00e9es, nous avons utilis\u00e9 le d\u00e9j\u00e0 connu Apache Airflow. \u00c0 mesure que chaque \u00e9tape de production des donn\u00e9es \u00e9tait pr\u00eate, une partie distincte du pipeline DQ se lan\u00e7ait parall\u00e8lement. <\/p>\n<p>Une bonne pratique consiste \u00e0 surveiller la qualit\u00e9 des donn\u00e9es d\u00e8s leur cr\u00e9ation dans la plateforme analytique. En ayant des informations sur les m\u00e9tadonn\u00e9es, nous pouvons d\u00e9j\u00e0, d\u00e8s l'entr\u00e9e des informations dans la couche primaire, v\u00e9rifier le respect des conditions de base \u2014 not null, contraintes, cl\u00e9s \u00e9trang\u00e8res. Cette fonctionnalit\u00e9 est r\u00e9alis\u00e9e sur la base de mappages g\u00e9n\u00e9r\u00e9s automatiquement de la famille qualit\u00e9 des donn\u00e9es dans Datagram. La g\u00e9n\u00e9ration de code, dans ce cas, repose \u00e9galement sur les m\u00e9tadonn\u00e9es du mod\u00e8le. Dans le projet de la soci\u00e9t\u00e9 Mediascope, le couplage s'est fait avec les m\u00e9tadonn\u00e9es du produit Enterprise Architect. <\/p>\n<p>Gr\u00e2ce au couplage de l'outil low-code et d'Enterprise Architect, les v\u00e9rifications suivantes ont \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9es automatiquement :<\/p>\n<ul>\n<li>V\u00e9rification de la pr\u00e9sence de valeurs \u00ab null \u00bb dans les champs avec le modificateur \u00ab not null \u00bb ; <\/li>\n<li>V\u00e9rification de la pr\u00e9sence de doublons de cl\u00e9 primaire ;<\/li>\n<li>Contr\u00f4le de la cl\u00e9 \u00e9trang\u00e8re de l'entit\u00e9;<\/li>\n<li>V\u00e9rification de l'unicit\u00e9 d'une ligne par ensemble de champs.<\/li>\n<\/ul>\n<p>\nPour des v\u00e9rifications plus complexes de la disponibilit\u00e9 et de la fiabilit\u00e9 des donn\u00e9es, un mappage avec Scala Expression a \u00e9t\u00e9 cr\u00e9\u00e9, prenant en entr\u00e9e le code Spark SQL externe de v\u00e9rification, pr\u00e9par\u00e9 par les analystes dans Zeppelin.<\/p>\n<p><img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBien s\u00fbr, l'autog\u00e9n\u00e9ration des contr\u00f4les doit \u00eatre abord\u00e9e progressivement. Dans le cadre du projet d\u00e9crit, les \u00e9tapes suivantes ont pr\u00e9c\u00e9d\u00e9 :<\/p>\n<ul>\n<li>DQ, impl\u00e9ment\u00e9es dans des notebooks Zeppelin;<\/li>\n<li>DQ, int\u00e9gr\u00e9es dans le mappage;<\/li>\n<li>DQ sous forme de mappages massifs s\u00e9par\u00e9s, contenant un ensemble complet de v\u00e9rifications pour chaque entit\u00e9;<\/li>\n<li>Mappages DQ universels param\u00e9tr\u00e9s, prenant en entr\u00e9e des informations sur les m\u00e9tadonn\u00e9es et les contr\u00f4les m\u00e9tiers.<\/li>\n<\/ul>\n<p>\nSans doute, le principal avantage de la cr\u00e9ation d'un service de v\u00e9rifications param\u00e9tr\u00e9es est la r\u00e9duction du temps de livraison des fonctionnalit\u00e9s dans l'environnement de production. De nouveaux contr\u00f4les de qualit\u00e9 peuvent contourner le mod\u00e8le classique de livraison de code, indirectement via les environnements de d\u00e9veloppement et de test :<\/p>\n<ul>\n<li>Tous les contr\u00f4les de m\u00e9tadonn\u00e9es sont g\u00e9n\u00e9r\u00e9s automatiquement lors de la modification du mod\u00e8le dans l'EA;<\/li>\n<li>Les contr\u00f4les de disponibilit\u00e9 des donn\u00e9es (d\u00e9termination de la pr\u00e9sence de certaines donn\u00e9es \u00e0 un moment donn\u00e9) peuvent \u00eatre g\u00e9n\u00e9r\u00e9s sur la base d'un annuaire stockant le timing attendu de l'apparition de la prochaine s\u00e9rie de donn\u00e9es par objets;<\/li>\n<li>Les contr\u00f4les m\u00e9tiers de fiabilit\u00e9 des donn\u00e9es sont r\u00e9alis\u00e9s par les analystes dans des notebooks Zeppelin. Ceux-ci sont directement envoy\u00e9s dans les tableaux de configuration du module DQ dans l'environnement de production. <\/li>\n<\/ul>\n<p>\nLes risques d'envoi direct de scripts en production sont pratiquement inexistants. M\u00eame en cas d'erreur syntaxique, la pire chose qui pourrait arriver serait de ne pas ex\u00e9cuter un contr\u00f4le, car le flux de calcul des donn\u00e9es et le flux de lancement des contr\u00f4les de qualit\u00e9 sont s\u00e9par\u00e9s.<\/p>\n<p>Essentiellement, le service DQ est en permanence actif dans l'environnement de production et pr\u00eat \u00e0 commencer son travail d\u00e8s l'arriv\u00e9e d'une nouvelle s\u00e9rie de donn\u00e9es. <\/p>\n<h2>En conclusion<\/h2>\n<p>\nL'avantage d'utiliser le low-code est \u00e9vident. Les d\u00e9veloppeurs n'ont pas besoin de cr\u00e9er une application \u00ab de z\u00e9ro \u00bb. De plus, un programmeur lib\u00e9r\u00e9 de t\u00e2ches suppl\u00e9mentaires obtient des r\u00e9sultats plus rapidement. La vitesse, \u00e0 son tour, lib\u00e8re des ressources suppl\u00e9mentaires en temps pour r\u00e9soudre des questions d'optimisation. Par cons\u00e9quent, dans ce cas, on peut s'attendre \u00e0 une solution de meilleure qualit\u00e9 et plus rapide.<\/p>\n<p><b>Bien s\u00fbr, le low-code n'est pas une panac\u00e9e, et la magie ne se produira pas d'elle-m\u00eame :<\/b><\/p>\n<ul>\n<li>L'industrie du low-code traverse une phase de \u00ab consolidation \u00bb, et il n'existe pas encore de normes industrielles homog\u00e8nes ;<\/li>\n<li>De nombreuses solutions low-code ne sont pas gratuites, et leur acquisition doit \u00eatre un choix r\u00e9fl\u00e9chi, \u00e0 faire uniquement avec une certitude totale de la rentabilit\u00e9 financi\u00e8re de leur utilisation ;<\/li>\n<li>De nombreuses solutions low-code ne s'entendent pas toujours bien avec GIT \/ SVN. Elles peuvent \u00eatre difficiles \u00e0 utiliser en cas de masquage du code g\u00e9n\u00e9r\u00e9 ;<\/li>\n<li>Lors de l'expansion de l'architecture, des ajustements de la solution low-code peuvent \u00eatre n\u00e9cessaires - ce qui, \u00e0 son tour, provoque un effet de \u00ab d\u00e9pendance \u00bb vis-\u00e0-vis du fournisseur de la solution low-code.<\/li>\n<li>Un niveau de s\u00e9curit\u00e9 ad\u00e9quat est possible, mais il est tr\u00e8s laborieux et complexe \u00e0 mettre en \u0153uvre pour les moteurs des syst\u00e8mes low-code. Les plateformes low-code ne devraient pas \u00eatre choisies uniquement en fonction de la recherche de b\u00e9n\u00e9fices li\u00e9s \u00e0 leur utilisation. Lors du choix, il convient de se poser des questions sur la pr\u00e9sence de fonctionnalit\u00e9s de gestion des acc\u00e8s et de d\u00e9l\u00e9gation \/ escalade des donn\u00e9es d'identification au niveau de l'ensemble du paysage informatique de l'organisation.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"L&#039;utilisation du low-code dans les plateformes analytiques\" src=\"\/wp-content\/uploads\/2020\/09\/8ad44d2f71f519b70f5ae1e1fe722066.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCependant, si tous les inconv\u00e9nients du syst\u00e8me choisi vous sont connus, et que les b\u00e9n\u00e9fices de son utilisation sont n\u00e9anmoins dominants, alors passez au low-code sans crainte. D'autant plus que la transition vers celui-ci est in\u00e9vitable - tout comme toute \u00e9volution.<\/p>\n<p>Si un d\u00e9veloppeur sur une plateforme low-code peut accomplir son travail plus rapidement que deux d\u00e9veloppeurs sans low-code, alors cela donne \u00e0 l'entreprise un avantage sur tous les fronts. Le seuil d'acc\u00e8s aux solutions low-code est plus bas que celui des technologies \u00ab traditionnelles \u00bb, ce qui a un impact positif sur le probl\u00e8me de la p\u00e9nurie de main-d'\u0153uvre. L'utilisation d'outils \u00e0 faible code permet d'acc\u00e9l\u00e9rer l'interaction entre les \u00e9quipes fonctionnelles et de prendre des d\u00e9cisions plus rapides sur la validit\u00e9 du chemin choisi pour des recherches en data science. Les plateformes \u00e0 faible code peuvent \u00eatre \u00e0 l'origine de la transformation num\u00e9rique de l'organisation, car les solutions produites peuvent \u00eatre comprises par des non-techniques (en particulier, des utilisateurs m\u00e9tier). <\/p>\n<p>Si vous avez des d\u00e9lais serr\u00e9s, une logique commerciale complexe, une p\u00e9nurie d'expertise technologique, et que vous devez acc\u00e9l\u00e9rer le time to market, alors le low-code est l'un des moyens de r\u00e9pondre \u00e0 vos besoins.<\/p>\n<p>Il ne faut pas sous-estimer l'importance des outils de d\u00e9veloppement traditionnels, cependant, dans de nombreux cas, l'application de solutions \u00e0 faible code est le meilleur moyen d'augmenter l'efficacit\u00e9 des t\u00e2ches \u00e0 accomplir.<br \/>\n<br \/>Source : <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.2 - 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\/fr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47L'application du low-code dans les plateformes analytiques | ProHoster","description":"Chers lecteurs, bonjour ! La t\u00e2che de construire des plateformes informatiques pour la collecte et l'analyse de donn\u00e9es finit par se poser \u00e0 toute entreprise dont le mod\u00e8le commercial repose sur une charge intellectuelle.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/95283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=95283"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/95283\/revisions"}],"predecessor-version":[{"id":162190,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/95283\/revisions\/162190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/95284"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=95283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=95283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=95283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}