{"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\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","title":{"rendered":"Einsatz von Low-Code in Analyseplattformen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sehr geehrte Leser, guten Tag!<\/p>\n<p>Die Aufgabe, IT-Plattformen zum Speichern und Analysieren von Daten aufzubauen, stellt sich fr\u00fcher oder sp\u00e4ter f\u00fcr jedes Unternehmen, dessen Gesch\u00e4ftsmodell auf intellektuell anspruchsvollen Dienstleistungen oder der Entwicklung technisch komplexer Produkte basiert. Der Aufbau analytischer Plattformen ist eine anspruchsvolle und zeitintensive Aufgabe. Doch jede Herausforderung l\u00e4sst sich vereinfachen. In diesem Artikel m\u00f6chte ich meine Erfahrungen mit Low-Code-Tools teilen, die bei der Erstellung analytischer L\u00f6sungen hilfreich sind. Diese Erfahrungen wurden w\u00e4hrend der Umsetzung mehrerer Projekte im Bereich Big Data Solutions der Firma \u201eNeoflex\u201c gesammelt. Der Bereich Big Data Solutions der Firma \u201eNeoflex\u201c besch\u00e4ftigt sich seit 2005 mit dem Aufbau von Datenbanken und Datenfl\u00fcssen, optimiert die Geschwindigkeit der Datenverarbeitung und entwickelt Methoden zur Qualit\u00e4tssicherung von Daten.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs ist unm\u00f6glich, die bewusste Ansammlung schwach und\/oder stark strukturierter Daten zu vermeiden \u2013 nicht einmal kleine Unternehmen bleiben davon verschont. Wenn ein Unternehmer sein Gesch\u00e4ft ausbaut, sieht er sich schnell mit Fragen zur Entwicklung von Treueprogrammen konfrontiert, m\u00f6chte die Effizienz von Verkaufsstellen analysieren, denkt \u00fcber gezielte Werbung nach und fragt sich nach der Nachfrage nach Begleitprodukten. Zun\u00e4chst l\u00e4sst sich das Problem vielleicht \u201eim Handumdrehen\u201c l\u00f6sen. Mit dem Wachstum des Unternehmens wird jedoch der \u00dcbergang zu einer Analyseplattform unausweichlich sein.<\/p>\n<p>Wann verwandeln sich Datenanalysen in Aufgaben, die mehr wie \u201eRaketenwissenschaft\u201c wirken? Wahrscheinlich dann, wenn es um wirklich gro\u00dfe Datenmengen geht.<br \/>\nUm die \u201eRaketenwissenschaft\u201c zu vereinfachen, kann man das Elephant-St\u00fcck f\u00fcr St\u00fcck essen. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/f81e7704b91a5b95303e4240d6012730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe gr\u00f6\u00dfer die Diskretion und Autonomie Ihrer Anwendungen\/Dienste\/Mikrodienste ist, desto einfacher wird es f\u00fcr Sie, Ihre Kollegen und das gesamte Unternehmen, den Elefanten zu verdauen.<\/p>\n<p>Diese Erkenntnis haben praktisch alle unsere Kunden gewonnen, die die Landschaft basierend auf den engineering Praktiken der DevOps-Teams umgestaltet haben.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAber selbst bei einer 'getrennten, elephantengerechten' Di\u00e4t haben wir ganz gute Chancen auf eine '\u00dcberflutung' der IT-Landschaft. An diesem Punkt sollte man innehalten, tief durchatmen und einen Blick darauf werfen. <b>Low-Code-Entwicklungsplattform<\/b>.<\/p>\n<p>Viele Entwickler f\u00fcrchten die Aussicht auf eine Karrierefalle, wenn sie vom direkten Programmieren zum 'Drag-and-Drop' in Low-Code-Systemen \u00fcbergehen. Doch die Einf\u00fchrung von Maschinen hat nicht zum Verschwinden von Ingenieuren gef\u00fchrt, sondern ihre Arbeit auf ein neues Niveau gehoben!<\/p>\n<p>Lass uns herausfinden, warum.<\/p>\n<p>Die Datenanalyse in den Bereichen Logistik, Telekommunikation, Medienforschung und Finanzsektor ist immer mit folgenden Fragen verbunden: <\/p>\n<ul>\n<li>Geschwindigkeit der automatisierten Analyse;<\/li>\n<li>M\u00f6glichkeit zur Durchf\u00fchrung von Experimenten, ohne den Hauptdatenproduktionsfluss zu beeinflussen;<\/li>\n<li>Zuverl\u00e4ssigkeit der vorbereiteten Daten;<\/li>\n<li>Aufzeichnung von \u00c4nderungen und Versionierung;<\/li>\n<li>Data Provenance, Data Lineage, CDC;<\/li>\n<li>Schnelligkeit der Bereitstellung neuer Features in der Produktionsumgebung;<\/li>\n<li>Und das ber\u00fcchtigte: Kosten f\u00fcr Entwicklung und Unterst\u00fctzung.<\/li>\n<\/ul>\n<p>\nDas bedeutet, dass Ingenieure eine Vielzahl von hochrangigen Aufgaben haben, die nur mit ausreichend Effizienz bew\u00e4ltigt werden k\u00f6nnen, wenn sie ihren Geist von der niedrigstufigen Entwicklung befreien.<\/p>\n<p>Die Voraussetzungen f\u00fcr den \u00dcbergang der Entwickler auf eine neue Ebene sind die Evolution und Digitalisierung des Gesch\u00e4fts. Der Wert von Entwicklern ver\u00e4ndert sich ebenfalls: Es gibt einen erheblichen Mangel an Entwicklern, die in der Lage sind, in die Konzepte des automatisierbaren Gesch\u00e4fts einzutauchen.<\/p>\n<p>Lassen Sie uns eine Analogie zwischen Low-Level- und High-Level-Programmiersprachen ziehen. Der \u00dcbergang von Low-Level- zu High-Level-Sprachen bedeutet, von 'direkten Anweisungen in Maschinensprache' hin zu 'Anweisungen in menschlicher Sprache' \u00fcberzugehen. Dies f\u00fchrt zu einer zus\u00e4tzlichen Abstraktionsebene. In diesem Sinne ist der Wechsel zu Low-Code-Plattformen von High-Level-Programmiersprachen ein Schritt von 'Anweisungen in menschlicher Sprache' hin zu 'Anweisungen in Gesch\u00e4ftssprache'. Wenn es Entwickler gibt, die diesen Fakt traurig macht, dann sind sie vielleicht schon seit der Einf\u00fchrung von JavaScript traurig, wo Array-Sortierfunktionen verwendet werden. Und diese Funktionen haben selbstverst\u00e4ndlich unter der Haube eine Programm-Implementierung mit denselben Hochsprachen-Mitteln.<\/p>\n<p><b>Daher ist Low-Code lediglich das Auftauchen einer weiteren Abstraktionsebene. <\/b><\/p>\n<h2>Praktische Erfahrungen mit Low-Code<\/h2>\n<p>\nDas Thema Low-Code ist ausreichend breit gef\u00e4chert, aber jetzt m\u00f6chte ich \u00fcber die praktische Anwendung der 'Low-Code-Konzepte' am Beispiel eines unserer Projekte sprechen.<\/p>\n<p>Die Big Data Solutions-Abteilung von \u201eNeoflex\u201c hat sich haupts\u00e4chlich auf den Finanzsektor spezialisiert, indem sie Datenlager und Data Lakes erstellt und verschiedene Reporting-Prozesse automatisiert. In diesem Bereich ist die Nutzung von Low-Code l\u00e4ngst zum Standard geworden. Unter anderen Low-Code-Tools k\u00f6nnen wir ETL-Prozessl\u00f6sungen wie Informatica Power Center, IBM Datastage oder Pentaho Data Integration erw\u00e4hnen. Auch Oracle Apex, das als schnelle Entwicklungsumgebung f\u00fcr Schnittstellen zur Datenzugriffs- und Bearbeitung dient, spielt eine wichtige Rolle. Die Verwendung von Low-Code-Entwicklungstools bedeutet jedoch nicht immer die Entwicklung von spezialisierten Anwendungen auf einem kommerziellen Technologiestack mit deutlichen Abh\u00e4ngigkeiten von Anbietern.<\/p>\n<p>Mit Low-Code-Plattformen lassen sich auch Datenstrom-Orchestrierungen einrichten, Data-Science-Plattformen schaffen oder beispielsweise Module zur Qualit\u00e4tspr\u00fcfung von Daten entwickeln. <\/p>\n<p>Ein praktisches Beispiel f\u00fcr die Nutzung von Low-Code-Entwicklungstools ist die Zusammenarbeit zwischen \u00abNeoflex\u00bb und der Firma Mediascope, einem der f\u00fchrenden Unternehmen auf dem russischen Markt f\u00fcr Medienforschung. Eine der Hauptaufgaben dieses Unternehmens besteht darin, Daten zu produzieren, auf deren Basis Werbetreibende, Internetplattformen, Fernsehsender, Radiostationen, Werbeagenturen und Marken Entscheidungen \u00fcber den Kauf von Werbung treffen und ihre Marketingkommunikationen planen. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMedia-Research ist ein technologisch anspruchsvolles Gesch\u00e4ftsgebiet. Die Erkennung von Videoinhalten, die Datensammlung von Analyseger\u00e4ten und die Messen von Aktivit\u00e4ten auf Webressourcen erfordert eine umfangreiche IT-Abteilung und betr\u00e4chtliche Erfahrung in der Entwicklung analytischer L\u00f6sungen. Doch das exponentielle Wachstum von Informationen sowie die Vielfalt ihrer Quellen zwingt die IT-Datenbranche zur st\u00e4ndigen Weiterentwicklung. Eine einfache M\u00f6glichkeit zur Skalierung der bereits bestehenden Mediascope-Analysetools w\u00e4re eine Erh\u00f6hung des IT-Personals. Eine weit effizientere L\u00f6sung ist jedoch die Beschleunigung des Entwicklungsprozesses. Ein Schritt in diese Richtung k\u00f6nnte der Einsatz von Low-Code-Plattformen sein.<\/p>\n<p>Zum Projektstart verf\u00fcgte das Unternehmen bereits \u00fcber eine funktionierende Produktl\u00f6sung. Allerdings konnte die Implementierung der L\u00f6sung auf MSSQL nicht vollst\u00e4ndig den Erwartungen in Bezug auf die Skalierbarkeit der Funktionalit\u00e4t bei akzeptablen Kosten f\u00fcr Anpassungen entsprechen.<\/p>\n<p>Die vor uns liegende Aufgabe war in der Tat ehrgeizig \u2013 \u201eNeoflex\u201c und Mediascope sollten innerhalb weniger als eines Jahres eine industrielle L\u00f6sung entwickeln, wobei ein MVP bereits im ersten Quartal nach Projektbeginn verf\u00fcgbar sein sollte.<\/p>\n<p>Als Grundlage f\u00fcr die Entwicklung der neuen Datenplattform, die auf Low-Code-Computing basiert, wurde der Technologie-Stack Hadoop gew\u00e4hlt. Der Standard f\u00fcr die Datenspeicherung ist HDFS in Verbindung mit Parquet-Dateiformaten. F\u00fcr den Zugriff auf die in der Plattform gespeicherten Daten wurde Hive verwendet, in dem alle verf\u00fcgbaren Datenansichten als externe Tabellen dargestellt werden. Der Datenimport in das Speicher wurde mithilfe von Kafka und Apache NiFi realisiert.<\/p>\n<p>In diesem Konzept wurde das Low-Code-Tool zur Optimierung der aufwendigen Aufgabe beim Aufbau der Analyseplattform eingesetzt \u2013 der Datenberechnung.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/fe62234ab0ae611a0c4a536ca68af898.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Hauptwerkzeug f\u00fcr das Mapping der Daten war das Low-Code-Tool Datagram. <b>Neoflex Datagram<\/b> ist ein Tool zur Entwicklung von Transformationen und Datenstr\u00f6men. <br \/>\nDurch die Verwendung dieses Tools kann auf das manuelle Schreiben von Scala-Code verzichtet werden. Der Scala-Code wird automatisch unter Verwendung des Model-Driven-Architecture-Ansatzes generiert.<\/p>\n<p>Ein offensichtlicher Vorteil dieses Ansatzes ist die Beschleunigung des Entwicklungsprozesses. Neben der Geschwindigkeit gibt es jedoch auch weitere Vorteile: <\/p>\n<ul>\n<li>Einblick in den Inhalt und die Struktur von Quellen\/Empf\u00e4ngern;<\/li>\n<li>Verfolgung der Herkunft von Datenstromobjekten bis zu einzelnen Feldern (Lineage);<\/li>\n<li>Teilweise Ausf\u00fchrung von Transformationen mit Einsicht in Zwischenresultate;<\/li>\n<li>Einblick in den Quellcode und dessen Anpassung vor der Ausf\u00fchrung;<\/li>\n<li>Automatische Validierung von Transformationen;<\/li>\n<li>Automatischer 1:1-Datenimport.<\/li>\n<\/ul>\n<p>\nDie Einstiegsh\u00fcrde f\u00fcr Low-Code-L\u00f6sungen zur Generierung von Transformationen ist recht niedrig: Ein Entwickler muss SQL kennen und Erfahrung mit ETL-Tools haben. Dabei ist zu beachten, dass code-driven Transformationserzeuger keine ETL-Tools im weitesten Sinne des Begriffs sind. Low-Code-Tools verf\u00fcgen m\u00f6glicherweise nicht \u00fcber eine eigene Umgebung zur Ausf\u00fchrung von Code. Das bedeutet, dass der generierte Code in der Umgebung ausgef\u00fchrt wird, die im Cluster bereits vor der Installation der Low-Code-L\u00f6sung vorhanden war. Und das ist vielleicht ein weiterer Pluspunkt f\u00fcr Low-Code. Denn parallel kann ein \"klassisches\" Team arbeiten, das Funktionen beispielsweise in reinem Scala-Code implementiert. Die Integration von Anpassungen beider Teams in die Produktion wird einfach und \"nahtlos\" sein.<\/p>\n<p>Es sollte auch erw\u00e4hnt werden, dass es neben Low-Code auch No-Code-L\u00f6sungen gibt. Diese sind im Grunde genommen verschiedene Ans\u00e4tze. Low-Code erm\u00f6glicht es Entwicklern in hohem Ma\u00dfe, in den generierten Code einzugreifen. Im Fall von Datagram ist es m\u00f6glich, den Scala-Quellcode zu betrachten und zu bearbeiten, w\u00e4hrend No-Code m\u00f6glicherweise diese M\u00f6glichkeit nicht bietet. Dieser Unterschied ist sowohl in Bezug auf die Flexibilit\u00e4t der L\u00f6sung als auch auf den Komfort und die Motivation der Dateningenieure von gro\u00dfer Bedeutung. <\/p>\n<h2>Architektur der L\u00f6sung<\/h2>\n<p>\nLassen Sie uns untersuchen, wie ein Low-Code-Tool bei der Optimierung der Entwicklungsgeschwindigkeit f\u00fcr Datenberechnungsfunktionen helfen kann. Zuerst betrachten wir die funktionale Architektur des Systems. In diesem Fall dient das Modell der Datenproduktion f\u00fcr Medienforschung als Beispiel.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/365f1b1cf69bf2a71854eb05c5bba809.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Die Datenquellen sind in unserem Fall sehr heterogen und vielf\u00e4ltig:<\/b><\/p>\n<ul>\n<li>Peoplemeter (TV-Meter) sind hardware- und softwarebasierte Ger\u00e4te, die das Nutzerverhalten von Befragten in einem Fernsehpannel erfassen \u2013 wer, wann und welcher Fernsehsender im Haushalt, das an der Studie teilnimmt, geschaut wurde. Die gelieferten Informationen bestehen aus einem Strom von Betrachtungsintervallen, die an das Medienpaket und das Medienprodukt gebunden sind. Die Daten k\u00f6nnen beim Laden in den Data Lake mit demografischen Attributen, regionalen Bez\u00fcgen, Zeitzonen und anderen Informationen angereichert werden, die f\u00fcr die Analyse des Fernsehkonsums eines bestimmten Medienprodukts erforderlich sind. Die get\u00e4tigten Messungen k\u00f6nnen zur Analyse oder Planung von Werbekampagnen, zur Bewertung der Aktivit\u00e4t und Pr\u00e4ferenzen der Zuschauer sowie zur Erstellung des Programmplans verwendet werden.<\/li>\n<li>Die Daten k\u00f6nnen aus Systemen zur \u00dcberwachung des Streaming-Fernsehens und zur Messung des Inhaltskonsums von Videoressourcen im Internet stammen.<\/li>\n<li>Messinstrumente in der Web-Umgebung, darunter sowohl site-zentrierte als auch nutzerzentrierte Z\u00e4hler. Ein Browser-Addon, das als Research-Bar fungiert, sowie eine mobile App mit integriertem Zugang k\u00f6nnen als Datenquelle f\u00fcr den Data Lake dienen. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/vpn\/\"   title=\"VPN\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"133\">VPN<\/a>.<\/li>\n<li>Die Daten k\u00f6nnen auch von Plattformen stammen, die die Ergebnisse der Ausf\u00fcllung von Online-Umfragen und die Ergebnisse von Telefoninterviews in den Umfragen des Unternehmens konsolidieren;<\/li>\n<li>Eine zus\u00e4tzliche Anreicherung des Data Lakes kann durch das Hochladen von Informationen aus den Logfiles der Partnerunternehmen erfolgen.<\/li>\n<\/ul>\n<p>\nDie Implementierung des as-is-Hochladens aus Quellsystemen in das prim\u00e4re Staging roher Daten kann auf verschiedene Weise organisiert werden. Bei der Verwendung von Low-Code-L\u00f6sungen ist eine automatische Generierung von Hochlade-Skripten basierend auf Metadaten m\u00f6glich. Dabei ist es nicht notwendig, auf die Entwicklung von Source-to-Target-Mappings herunterzugehen. F\u00fcr die Implementierung des automatischen Hochladens m\u00fcssen wir eine Verbindung zur Quelle herstellen und dann im Upload-Interface die Liste der zu ladenden Entit\u00e4ten festlegen. Die Erstellung der Verzeichnisstruktur in HDFS erfolgt automatisch und entspricht der Speicherstruktur im Quellsystem.<\/p>\n<p>Im Rahmen dieses Projekts haben wir uns entschieden, die Low-Code-Plattform nicht zu verwenden, da das Unternehmen Mediascope bereits selbst mit der Entwicklung eines \u00e4hnlichen Dienstes auf der Basis von Nifi und Kafka begonnen hat.<\/p>\n<p>Es ist wichtig zu betonen, dass diese Tools sich nicht gegenseitig ersetzen, sondern sich vielmehr erg\u00e4nzen. Nifi und Kafka k\u00f6nnen sowohl in direkter (Nifi -&gt; Kafka) als auch in umgekehrter (Kafka -&gt; Nifi) Beziehung arbeiten. F\u00fcr die Medienforschungsplattform wurde die erste Verkn\u00fcpfung verwendet.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/8284ef5bd6d3b947998ffd42bfb66dbd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn unserem Fall musste Nifi verschiedene Datentypen aus Quellsystemen verarbeiten und an den Kafka-Broker \u00fcbermitteln. Dabei wurde die Richtung der Nachrichten zu einem bestimmten Kafka-Topic mittels Nifi-Prozessoren PublishKafka gesteuert. Die Orchestrierung und Wartung dieser Pipelines erfolgt \u00fcber eine visuelle Benutzeroberfl\u00e4che. Das Tool Nifi und die Verwendung der Kombination Nifi + Kafka k\u00f6nnen ebenfalls als Low-Code-Ansatz in der Entwicklung bezeichnet werden, der einen niedrigen Einstieg in Big Data-Technologien erm\u00f6glicht und den Entwicklungsprozess von Anwendungen beschleunigt. <\/p>\n<p>Der n\u00e4chste Schritt bei der Umsetzung des Projekts bestand darin, die detaillierten Daten in ein einheitliches semantisches Format zu bringen. Wenn eine Entit\u00e4t historische Attribute aufweist, erfolgt die Berechnung im Kontext der betreffenden Partition. Ist die Entit\u00e4t jedoch nicht historisch, kann optional entweder der gesamte Inhalt des Objekts neu berechnet oder ganz auf eine Neuberechnung dieses Objekts verzichtet werden (aufgrund fehlender \u00c4nderungen). In diesem Schritt werden Schl\u00fcssel f\u00fcr alle Entit\u00e4ten generiert. Diese Schl\u00fcssel werden in die entsprechenden Master-Objektverzeichnisse in Hbase gespeichert, die die Zuordnung zwischen den Schl\u00fcsseln in der Analyseplattform und den Schl\u00fcsseln aus den Quellsystemen enthalten. Die Konsolidierung der atomaren Entit\u00e4ten erfolgt zusammen mit der Anreicherung durch die Ergebnisse der vorl\u00e4ufigen Berechnung der Analysedaten. Das Framework, das f\u00fcr die Datenberechnung verwendet wurde, war Spark. Die beschriebene Funktionalit\u00e4t zur Angleichung der Daten an eine einheitliche Semantik wurde ebenfalls auf der Grundlage von Low-Code-Tool-Mappings von Datagram realisiert.<\/p>\n<p>In der Zielarchitektur war es notwendig, SQL-Zugang zu Daten f\u00fcr Gesch\u00e4ftsanwender zu gew\u00e4hrleisten. F\u00fcr diese Option wurde Hive verwendet. Die Registrierung von Objekten in Hive erfolgt automatisch, wenn die Option \u201eRegistr Hive Table\u201c im Low-Code-Tool aktiviert wird.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/a13f7260d067d3d21b7090bd8fa10aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Steuerung des Berechnungsflusses<\/h2>\n<p>\nDatagram verf\u00fcgt \u00fcber ein Interface zur Gestaltung von Workflow-Streams. Die Ausf\u00fchrung von Mappings kann mit dem Oozie-Planer erfolgen. Im Entwicklerinterface f\u00fcr Streams k\u00f6nnen Schemata f\u00fcr parallele, sequenzielle oder bedingte Transformationen von Daten erstellt werden. Shell-Skripte und Java-Programme werden unterst\u00fctzt. Auch die Nutzung von <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-los-angeles\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3662\">Server<\/a> Apache Livy ist m\u00f6glich. Apache Livy wird verwendet, um Anwendungen direkt aus der Entwicklungsumgebung auszuf\u00fchren. <\/p>\n<p>Falls das Unternehmen bereits einen eigenen Prozessorchestrator hat, kann das REST API verwendet werden, um Mappings in den bestehenden Workflow zu integrieren. Zum Beispiel haben wir bereits erfolgreiche Erfahrungen mit der Integration von Mappings in Scala in Orchestratoren, die mit PLSQL und Kotlin entwickelt wurden. Das REST API des Low-Code-Tools erm\u00f6glicht Funktionen wie die Generierung eines ausf\u00fchrbaren Jahres basierend auf dem Design des Mappings, den Aufruf von Mappings, den Aufruf von Mappingserien und nat\u00fcrlich die \u00dcbergabe von URL-Parametern zur Ausl\u00f6sung der Mappings.<\/p>\n<p>Zus\u00e4tzlich zu Oozie kann der Berechnungsprozess auch mit Airflow organisiert werden. Ich werde nicht lange \u00fcber den Vergleich zwischen Oozie und Airflow sprechen, sondern einfach nur sagen, dass wir im Rahmen des Medienforschungsprojekts die Entscheidung zugunsten von Airflow getroffen haben. Die Hauptargumente daf\u00fcr waren die aktivere Community, die das Produkt entwickelt, sowie die ausgefeiltere Benutzeroberfl\u00e4che und API.<\/p>\n<p>Airflow ist besonders beliebt, da es f\u00fcr die Beschreibung der Berechnungsprozesse die weithin gesch\u00e4tzte Programmiersprache Python verwendet. Zudem gibt es nicht viele Open-Source-Plattformen f\u00fcr das Management von Arbeitsabl\u00e4ufen. Das Starten und \u00dcberwachen der Prozesse (inklusive Gantt-Diagramm) bringt Airflow noch weitere Vorteile. <\/p>\n<p>Das Format der Konfigurationsdatei f\u00fcr die Ausf\u00fchrung von Low-Code-Mapping-L\u00f6sungen basiert auf spark-submit. Dies geschah aus zwei Gr\u00fcnden. Erstens erm\u00f6glicht spark-submit das direkte Starten einer JAR-Datei aus der Konsole. Zweitens kann es alle notwendigen Informationen zur Konfiguration des Arbeitsablaufs enthalten, was das Schreiben von Skripten zur Erstellung von DAG erleichtert.<br \/>\nDas am h\u00e4ufigsten genutzte Element des Airflow-Arbeitsablaufs in unserem Fall ist der SparkSubmitOperator.<\/p>\n<p>Der SparkSubmitOperator erm\u00f6glicht das Ausf\u00fchren von JAR-Dateien \u2013 verpackten Mappings von Datagrammen mit vorher definierten Eingabeparametern.<\/p>\n<p>Es ist wichtig zu erw\u00e4hnen, dass jede Aufgabe im Airflow in einem separaten Thread ausgef\u00fchrt wird und keine Kenntnisse \u00fcber andere Aufgaben hat. Daher erfolgt die Interaktion zwischen den Aufgaben \u00fcber Kontrolloperatoren wie den DummyOperator oder den BranchPythonOperator.<\/p>\n<p>Die Kombination der Nutzung der Low-Code-L\u00f6sung Datagram zusammen mit der Vereinheitlichung der Konfigurationsdateien (die Dag bilden) hat zu einer erheblichen Beschleunigung und Vereinfachung des Entwicklungsprozesses von Datenladefl\u00fcssen gef\u00fchrt.<\/p>\n<h2>Berechnung der Datenm\u00e4rkte<\/h2>\n<p>\nDer m\u00f6glicherweise intellektuell anspruchsvollste Schritt in der Erstellung von Analysedaten ist der Aufbau der Datenm\u00e4rkte. Im Kontext eines der Datenberechnungsfl\u00fcsse eines Forschungsunternehmens erfolgt in diesem Schritt die Anpassung an die Standard\u00fcbertragung unter Ber\u00fccksichtigung der Zeitzonenanpassung in Verbindung mit dem Sendeschema. Ebenso ist eine Anpassung an das lokale Sendeschema (lokale Nachrichten und Werbung) m\u00f6glich. Unter anderem erfolgt in diesem Schritt die Aufteilung der kontinuierlichen Sichtungsintervalle von Medienprodukten basierend auf der Analyse dieser Sichtungsintervalle. Gleichzeitig findet eine \"Abw\u00e4gung\" der Sichtungswerte auf Grundlage der Informationen \u00fcber ihre Bedeutung statt (Berechnung des Anpassungsfaktors).<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/b5f90f7d1d95c97c9819218aab9079c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEin entscheidender Schritt bei der Vorbereitung von Dashboards ist die Validierung der Daten. Der Validierungsalgorithmus h\u00e4ngt mit der Anwendung mehrerer mathematischer Modelle zusammen. Die Nutzung einer Low-Code-Plattform erm\u00f6glicht es jedoch, den komplexen Algorithmus in eine Reihe von einzelnen, visuell verst\u00e4ndlichen Mappings zu zerlegen. Jedes Mapping erf\u00fcllt eine spezifische Aufgabe. Dadurch sind Zwischen-Debugging, Protokollierung und die Visualisierung der Datenvorbereitungsphasen m\u00f6glich. <\/p>\n<p>Es wurde beschlossen, den Validierungsalgorithmus in die folgenden Unterphasen zu unterteilen:<\/p>\n<ul>\n<li>Erstellung von Regressionsanalysen zur Abh\u00e4ngigkeit des Zuschauerverhaltens einer bestimmten Mediathek in der Region im Vergleich zu allen Mediatheken in der Region \u00fcber einen Zeitraum von 60 Tagen. <\/li>\n<li>Berechnung der studentisierten Residuen (Abweichungen der tats\u00e4chlichen Werte von den durch das Regressionsmodell vorhergesagten Werten) f\u00fcr alle Regressionspunkte und f\u00fcr den Berechnungstag.<\/li>\n<li>Auswahl anormaler Paare von Region und Mediathek, bei denen das studentisierte Residuum des Berechnungstags die Norm (die durch die Operationseinstellungen festgelegt ist) \u00fcberschreitet.<\/li>\n<li>Die Neuberechnung des adjustierten Studentenresiduals bei anomalen Paaren von Region-Netzwerk f\u00fcr jeden Befragten, der das Netzwerk in einer Region betrachtet hat, erfolgt unter Ber\u00fccksichtigung des Beitrags dieses Befragten (die Gr\u00f6\u00dfenordnung der \u00c4nderung des studentischen Residuals), wenn dieser Befragte aus der Stichprobe ausgeschlossen wird.<\/li>\n<li>Suche nach Kandidaten, deren Ausschluss das studentische Residual des Berechnungstags in den Normalbereich zur\u00fcckf\u00fchrt. <\/li>\n<\/ul>\n<p>\nDas obige Beispiel best\u00e4tigt die Hypothese, dass ein Data Engineer ohnehin zu viele Dinge im Kopf haben muss... Und wenn er wirklich ein \"Engineer\" und kein \"Coder\" ist, sollte die Angst vor beruflicher Degradierung durch die Nutzung von Low-Code-Tools endg\u00fcltig verschwinden.<\/p>\n<h2>Was kann Low-Code noch?<\/h2>\n<p>\nDer Anwendungsbereich des Low-Code-Tools f\u00fcr die Batch- und Streamverarbeitung von Daten endet nicht mit der Notwendigkeit, Scala manuell zu codieren.<\/p>\n<p>Der Einsatz von Low-Code bei der Entwicklung von Datalakes hat sich f\u00fcr uns bereits als gewisser Standard etabliert. Man k\u00f6nnte sagen, dass L\u00f6sungen auf Basis von Hadoop den Entwicklungsweg klassischer DWH, die auf relationalen Datenbanken basieren, nachzeichnen. Low-Code-Tools im Hadoop-Stack k\u00f6nnen sowohl zur Datenverarbeitung als auch zur Erstellung finaler BI-Schnittstellen eingesetzt werden. Dabei ist zu beachten, dass unter BI nicht nur die Datenpr\u00e4sentation, sondern auch deren Bearbeitung durch Business-Nutzer verstanden werden kann. Diese Funktionalit\u00e4t nutzen wir h\u00e4ufig beim Aufbau von Analyseplattformen f\u00fcr den Finanzsektor. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/cde5ce9dac9fcc9356b2b0ed291e299c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnter anderem erm\u00f6glicht es low-code, und insbesondere Datagram, die Herausforderung der Herkunftsverfolgung von Datenstromobjekten bis auf die Ebene einzelner Felder (lineage) zu l\u00f6sen. Dazu wurde im low-code-Tool eine Integration mit Apache Atlas und Cloudera Navigator implementiert. Im Wesentlichen muss der Entwickler eine Reihe von Objekten in den Atlas-W\u00f6rterb\u00fcchern registrieren und auf die registrierten Objekte beim Erstellen von Mappings verweisen. Der Mechanismus zur Herkunftsverfolgung von Daten oder zur Analyse der Abh\u00e4ngigkeiten von Objekten spart eine Menge Zeit, wenn Anpassungen an Berechnungsalgorithmen erforderlich sind. Zum Beispiel erm\u00f6glicht dieses Feature beim Erstellen von Finanzberichten ein reibungsloseres Handling von \u00c4nderungen in der Gesetzgebung. Denn je besser wir die interformativen Abh\u00e4ngigkeiten im Hinblick auf Objekte der Detailebene verstehen, desto weniger werden wir mit \u201epl\u00f6tzlichen\u201c Fehlern konfrontiert und reduzieren die Anzahl der Nacharbeiten. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/0b351b116564090bd03f6adf3fc52616.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Datenqualit\u00e4t &amp; Low-code<\/h2>\n<p>\nEine weitere Aufgabe, die mit dem Low-Code-Tool im Projekt des Unternehmens Mediascope umgesetzt wurde, war die Aufgabe der Datenqualit\u00e4t. Ein herausragendes Merkmal der Implementierung der Datenpr\u00fcfkette f\u00fcr das Projekt des Forschungsunternehmens war das Fehlen von Einfluss auf die Funktionalit\u00e4t und Arbeitsgeschwindigkeit des Hauptdatenverarbeitungsablaufs. Zum Orchestrieren unabh\u00e4ngig pr\u00fcfender Datenstr\u00f6me wurde das bereits bekannte Apache Airflow verwendet. W\u00e4hrend jeder Schritt der Datenverarbeitung abgeschlossen wurde, wurde parallel ein separater Teil der DQ-Pipeline gestartet. <\/p>\n<p>Es gilt als gute Praxis, die Datenqualit\u00e4t von der Entstehung in der Analyseplattform zu \u00fcberwachen. Mit Informationen \u00fcber Metadaten k\u00f6nnen wir bereits beim Eingang der Informationen in die erste Schicht grundlegende Bedingungen \u00fcberpr\u00fcfen \u2013 nicht null, Einschr\u00e4nkungen, Fremdschl\u00fcssel. Diese Funktionalit\u00e4t basiert auf automatisch generierten Mappings der Datenqualit\u00e4tsfamilie in Datagram. Die Codegenerierung st\u00fctzt sich in diesem Fall ebenfalls auf die Metadaten des Modells. Im Projekt des Unternehmens Mediascope fand die Verkn\u00fcpfung mit den Metadaten des Produkts Enterprise Architect statt. <\/p>\n<p>Durch die Kombination des Low-Code-Tools und Enterprise Architect wurden automatisch die folgenden Pr\u00fcfungen generiert:<\/p>\n<ul>\n<li>\u00dcberpr\u00fcfung auf vorhandene \"null\"-Werte in Feldern mit dem Modifikator \"not null\"; <\/li>\n<li>\u00dcberpr\u00fcfung auf doppelte Prim\u00e4rschl\u00fcssel;<\/li>\n<li>\u00dcberpr\u00fcfung des Fremdschl\u00fcssels einer Entit\u00e4t;<\/li>\n<li>\u00dcberpr\u00fcfung der Eindeutigkeit einer Zeile anhand einer Gruppe von Feldern.<\/li>\n<\/ul>\n<p>\nF\u00fcr komplexere Pr\u00fcfungen der Verf\u00fcgbarkeit und Genauigkeit der Daten wurde ein Mapping mit Scala Expressions erstellt, das externen Spark SQL-Pr\u00fcfcode als Eingabe akzeptiert, welcher von Analysten in Zeppelin vorbereitet wurde.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNat\u00fcrlich muss die Auto-Generierung von Pr\u00fcfungen schrittweise eingef\u00fchrt werden. Diesem Projekt gingen die folgenden Schritte voraus:<\/p>\n<ul>\n<li>DQ, die in Zeppelin-Notebooks implementiert sind;<\/li>\n<li>DQ, die in das Mapping integriert sind;<\/li>\n<li>DQ in Form separater massiver Mappings, die eine vollst\u00e4ndige Reihe von Pr\u00fcfungen f\u00fcr eine bestimmte Entit\u00e4t enthalten;<\/li>\n<li>Universelle, parametrisierte DQ-Mappings, die Informationen \u00fcber Metadaten und Gesch\u00e4ftspr\u00fcfungen als Eingabe akzeptieren.<\/li>\n<\/ul>\n<p>\nEiner der Hauptvorteile der Erstellung eines Dienstes f\u00fcr parametrisierte Pr\u00fcfungen ist die Verk\u00fcrzung der Zeit zur Bereitstellung von Funktionen in der Produktionsumgebung. Neue Qualit\u00e4tspr\u00fcfungen k\u00f6nnen das klassische Muster der Bereitstellung von Code durch Entwicklungs- und Testumgebungen umgehen.<\/p>\n<ul>\n<li>Alle Metadatenpr\u00fcfungen werden automatisch generiert, wenn sich das Modell in EA \u00e4ndert.<\/li>\n<li>Pr\u00fcfungen zur Verf\u00fcgbarkeit von Daten (Feststellung des Vorhandenseins von Daten zu einem bestimmten Zeitpunkt) k\u00f6nnen auf der Grundlage eines Verzeichnisses generiert werden, das den erwarteten Zeitrahmen f\u00fcr das Auftreten der n\u00e4chsten Datenmenge in Bezug auf Objekte speichert.<\/li>\n<li>Gesch\u00e4ftspr\u00fcfungen zur Datenverifizierung werden von Analysten in Zeppelin-Notebooks erstellt. Diese werden direkt in die Konfigurationstabellen des DQ-Moduls in der Produktionsumgebung \u00fcberf\u00fchrt. <\/li>\n<\/ul>\n<p>\nRisiken durch die direkte Auslieferung von Skripten in die Produktion sind nicht vorhanden. Selbst bei einem Syntaxfehler besteht h\u00f6chstens die Gefahr, dass eine Pr\u00fcfung nicht ausgef\u00fchrt wird, da der Datenberechnungsfluss und der Pr\u00fcfungsfluss voneinander getrennt sind.<\/p>\n<p>Im Grunde genommen ist der DQ-Service permanent in der Produktionsumgebung aktiv und bereit, seinen Betrieb mit der n\u00e4chsten Datenlieferung aufzunehmen. <\/p>\n<h2>Abschlie\u00dfend<\/h2>\n<p>\nDie Vorteile von Low-Code sind offensichtlich. Entwickler m\u00fcssen die Anwendung nicht \"von Grund auf neu\" erstellen. Und der entlastete Programmierer liefert schneller Ergebnisse. Diese Geschwindigkeit wiederum schafft zus\u00e4tzliche Zeitressourcen zur Optimierung. Folglich kann man in diesem Fall auf qualitativ bessere und schnellere L\u00f6sungen hoffen.<\/p>\n<p><b>Nat\u00fcrlich ist Low-Code keine L\u00f6sung f\u00fcr alles, und das Wunder wird nicht einfach geschehen:<\/b><\/p>\n<ul>\n<li>Die Low-Code-Branche befindet sich in einer Phase der \"St\u00e4rkung\", und es gibt noch keine einheitlichen industriellen Standards;<\/li>\n<li>Viele Low-Code-L\u00f6sungen sind nicht kostenlos, und ihre Anschaffung sollte ein wohl\u00fcberlegter Schritt sein, der nur bei vollst\u00e4ndiger Gewissheit \u00fcber die finanziellen Vorteile ihrer Nutzung erfolgen sollte;<\/li>\n<li>Viele Low-Code-L\u00f6sungen sind nicht immer gut mit GIT \/ SVN kompatibel oder unbequem zu nutzen, wenn der generierte Code verborgen ist;<\/li>\n<li>Beim Ausbau der Architektur kann es notwendig sein, das Low-Code-Tool anzupassen \u2013 was wiederum zu einer \u00abBindung und Abh\u00e4ngigkeit\u00bb vom Anbieter des Low-Code-Systems f\u00fchrt.<\/li>\n<li>Ein angemessenes Sicherheitsniveau ist m\u00f6glich, erfordert jedoch einen hohen Aufwand und ist komplex zu implementieren bei Low-Code-Systemen. Low-Code-Plattformen sollten nicht nur nach den erwarteten Vorteilen ihrer Nutzung ausgew\u00e4hlt werden. Bei der Auswahl sind Fragen nach der Verf\u00fcgbarkeit von Funktionen f\u00fcr Zugriffsverwaltung und Delegation\/Eskalation von Identifikationsdaten auf die gesamte IT-Landschaft der Organisation zu ber\u00fccksichtigen.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/8ad44d2f71f519b70f5ae1e1fe722066.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn Ihnen jedoch alle Nachteile des gew\u00e4hlten Systems bekannt sind und die Vorteile der Nutzung dennoch \u00fcberwiegen, k\u00f6nnen Sie ohne Bedenken zu Low-Code wechseln. Zumal der \u00dcbergang unvermeidlich ist \u2013 wie jede Evolution.<\/p>\n<p>Wenn ein Entwickler auf einer Low-Code-Plattform seine Arbeit schneller erledigt als zwei Entwickler ohne Low-Code, verschafft dies dem Unternehmen in vielerlei Hinsicht Vorteile. Die Einstiegsh\u00fcrden zu Low-Code-L\u00f6sungen sind niedriger als bei 'traditionellen' Technologien, was sich positiv auf den Fachkr\u00e4ftemangel auswirkt. Durch den Einsatz von Low-Code-Tools kann die Zusammenarbeit zwischen funktionalen Teams beschleunigt und die Entscheidungsfindung \u00fcber die Richtigkeit des gew\u00e4hlten Data-Science-Forschungsansatzes schneller getroffen werden. Low-Code-Plattformen k\u00f6nnen der Motor f\u00fcr die digitale Transformation einer Organisation sein, da die entwickelten L\u00f6sungen auch f\u00fcr Nicht-Techniker (insbesondere f\u00fcr Business-Nutzer) verst\u00e4ndlich sind. <\/p>\n<p>Wenn Sie enge Fristen, komplexe Gesch\u00e4ftslogik und einen Mangel an technischer Expertise haben und Ihre Markteinf\u00fchrungszeit beschleunigen m\u00f6chten, ist Low-Code eine der M\u00f6glichkeiten, um Ihren Anforderungen gerecht zu werden.<\/p>\n<p>Es ist unbestreitbar, wie wichtig traditionelle Entwicklerwerkzeuge sind, doch in vielen F\u00e4llen stellen geringcode-basierte L\u00f6sungen den effektivsten Weg dar, um die Effizienz der bew\u00e4ltigten Aufgaben zu steigern.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/neoflex\/blog\/520554\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/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\udd47Anwendung von Low-Code in Analyseplattformen | ProHoster","description":"Sehr geehrte Leser, guten Tag! Die Aufgabe, IT-Plattformen zum Sammeln und Analysieren von Daten zu erstellen, stellt sich fr\u00fcher oder sp\u00e4ter in jedem Unternehmen, dessen Gesch\u00e4ftsmodell auf einer intellektuell anspruchsvollen Dienstleistungsangebot oder der Entwicklung technisch komplexer Produkte basiert. Der Aufbau von Analyseplattformen ist eine komplexe und arbeitsintensive Aufgabe. Doch jede Herausforderung l\u00e4sst sich vereinfachen. In diesem Artikel m\u00f6chte ich meine Erfahrungen beim Einsatz von","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster","og:description":"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-27T17:42:23+00:00","article:modified_time":"2020-09-27T17:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95283","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:08:24","updated":"2026-02-22 15:29:41"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=95283"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283\/revisions"}],"predecessor-version":[{"id":162190,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283\/revisions\/162190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/95284"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=95283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=95283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=95283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}