Mastering the (industrial) Data
Wie aus Daten von Industrie- und Produktionsprozessen eine verbesserte Fertigung entsteht.
von DI Paul Heinzlreiter und Dr. Roxana Holom
Nicht erst seit dem Schlagwort “Industrie 4.0” und “Internet of Things” ist bekannt, dass man aus Fertigungsprozessen essenzielle Daten gewinnen kann: Sensoren, die Bewegung, Hitze oder Druck aufzeichnen, Maschinen die Beschädigungen melden oder vollautomatisierte Lager, die Auslastung und Durchlaufzeiten mit ihren Scannern dokumentieren. Der erste Schritt hin zur smarten Fabrik – die sich am Ende im besten Fall selbst optimiert und ressourcenschonend arbeitet – ist die Erfassung, Aufzeichnung und Speicherung dieser Daten. Im zweiten Schritt müssen diese Daten untereinander verknüpft werden. Da diese unterschiedlichen Daten aus verschiedenen Quellen auch unterschiedliche Formate haben – die einen sind kontinuierlich, die anderen zeichnen immer nur einen Zustand zu einem gewissen Zeitpunkt auf – ist diese Verknüpfung auch aufgrund der Datenmengen nicht mehr trivial. Hierfür benötigt es ein Framework, das diese Verarbeitung und Verknüpfung automatisiert übernimmt. Und es benötigt Spezialistinnen und Spezialisten, die ein solches Framework konstruieren und Datenknow-how mit Domänenwissen verbinden – Data Scientists.
Im Projekt BOOST 4.0 befassten sich Data Scientists der RISC Software GmbH mit der Entwicklung eines solchen Frameworks um eine smarte Fabrik abzubilden. Gemeinsam mit Industriepartnern wurden Lösungen anhand von Praxisbeispielen erarbeitet. Zu guter Letzt gilt es, diese Daten zu analysieren, interpretieren und Handlungen für die Zukunft daraus abzuleiten. Hierfür braucht es das Zusammenspiel von Fachexpertinnen und -experten und Data Scientists. Das heißt, dass Fachpersonen mit ihrem Wissen und ihrer Erfahrung von Anfang an miteingebunden werden, wenn es darum geht die Daten zu verknüpfen und danach auch zu interpretieren.
Inhalt
- Daten fusionieren: Big Data Architektur anhand des RISC Software Data Analytics Frameworks
- Daten aufbereiten: Spark
- Daten analysieren: Vergleich hochfrequenter Zeitreihen
- Autoren
Daten fusionieren: Big Data Architektur anhand des RISC Software Data Analytics Frameworks
Das Konzept der Big Data Architektur des RISC Data Analytics Frameworks beruht auf der Kombination von Big Data Technologien mit semantischen Ansätzen, um große Datenmengen aus unterschiedlichen Quellen zu verarbeiten und zu speichern. Die Architektur ist in der Lage, Daten mit Big Data Technologien wie Spark zu verarbeiten. Dabei werden die Daten selbst und die Verbindungen zueinander separat gespeichert. Dadurch ist das System generisch, wiederverwendbar und trotzdem reaktionsschnell. Der obligatorische Check der Daten auf ihre Korrektheit (Datenvalidierung) ist dadurch genauso gewährleistet wie kontinuierliche Analysen. Es wird Apache Spark eingesetzt – ein paralleles in-memory Datenverabeitungsframework, das die Daten aus dem Rohformat in eine standardisierte Speicherung überführt – um mit dieser Datenbasis weitere Analysen durch Data Scientists durchzuführen.
Die Verarbeitung der Daten erfolgt dabei in einem Cluster, in dessen Datenspeicher die Daten, die aus verschiedenen Datenquellen stammen, übernommen werden. Diese Übernahme in einen zentralen Speicher umfasst eine Interpretation und Transformation der Daten um sie in ein einheitliches Format zu bringen. Auf Syntaxebene wird dafür die Struktur dieses Formats definiert, indem die zugehörigen Metadateninformationen eingelesen und verarbeitet werden. Auf diese Weise werden die Daten validiert, bereinigt, entsprechend transformiert und in Spark-Tabellen gespeichert. Durch die Verwendung von Spark kann man direkt am Cluster erste Datenexplorationen durchführen, um erste Erkenntnisse über die Daten zu gewinnen. Als ein weiterer Schritt der Datenaufbereitung kann auch eine Aggregation von Daten durchgeführt werden, die eine lokale Durchführung komplexer Analyseaufgaben ausserhalb des BigData-Clusters ermöglicht. Ein Beispiel dafür ist der unten beschriebene Vergleich hochfrequenter Zeitreihen.
Um die Beziehungen der verschiedenen Datenquelle zu verbinden (d.h. Linked Data repräsentieren) und eine leistungsfähigere Metadaten-Darstellung zu erreichen, setzen die Data Scientists der RISC Software GmbH auf die Schemasprache SALAD (Semantic Annotations for Linked Avro Data), welche Apache AVRO als strukturelles Datenspeicherformat mit semantischen Metainformationen anreichert. Dies ermöglichst wiederum eine automatisierte Interpretation der Daten. Weiters wird die Vorverarbeitung, die strukturelle Validierung und die Überprüfung von verlinkten Dokumenten durch ein semantisches Regelwerk unterstützt. Damit wird die Lücke zwischen Record-orientierter Datenmodellierung (unterstützt durch Apache Avro) und dem Semantic Web (durch Erweiterung von SALAD) geschlossen.
Info
Projekt BOOST 4.0
Das europäische Projekt „Big Data Value Spaces for COmpetitiveness of European COnnected Smart FacTories 4.0 (BOOST 4.0)“ (Horizon 2020) befasst sich mit der Notwendigkeit der Entwicklung groß angelegter Experimente und der Demonstration datengesteuerter “connected smart” Fabriken 4.0. https://boost40.eu/
SALAD (Semantic Annotations for Linked Avro Data)
SALAD (Semantic Annotations for Linked Avro Data) ist eine Schemasprache zur Beschreibung von strukturierten Linked Data in JSON oder YAML (ein rekursives Akronym für “YAML Ain’t Markup Language”). https://github.com/common-workflow-language/schema_salad
Apache Spark
Apache Spark ist ein Framework für Cluster Computing, das unter einer Open-Source-Lizenz öffentlich verfügbar ist. https://spark.apache.org/
Hadoop-Cluster
Ein Hadoop-Cluster ist ein Computer-Cluster, der für die Speicherung und Analyse von großen Mengen unstrukturierter Daten in einer verteilten Rechenumgebung verwendet wird. https://hadoop.apache.org/
Das Video zeigt die Architektur des RISC Software Data Analytics Frameworks.
Daten aufbereiten: Spark
Der Datenaufbereitung kommt generell in diesem Umfeld eine große Bedeutung zu, da die Daten von Kundinnen und Kunden und Projektpartnern meist in der Rohform geliefert werden, in der sie von den Industriemaschinen erzeugt wurden. Zuerst müssen die verschiedenen Rohformen der Daten in ein einheitliches Format gebracht werden. Dieses stellt die Basis für weiterführende Analysen dar. Die Wiederverwendbarkeit der darauf folgenden Datenanalyseschritte über unterschiedlichste Use-Cases ist ein weiteres wichtiges Ziel.
Die Datenaufbereitung sowie die nachfolgende Analyse der Daten erfolgt unter Einsatz eines Hadoop-Clusters, der einerseits die effiziente Verarbeitung von Daten im Terrabyte-Bereich ermöglicht, andererseits aber auch die Zielformate der Datenaufbereitung vorgibt. Der Cluster ermöglicht ermöglicht eine datenparallele horizontal skalierbare Verarbeitung von Daten im Terrabytebereich, wobei OpenSource Softwaretechnologien und Commodity-Hardware eingesetzt werden, was die Kosten des Einsatz gering hält und diese Lösung vor allem für KMUs sehr interessant macht.
Ziel ist es, die relevanten Tabellen und Dateien aus den einzelnen Quell-Datenbanken zu extrahieren und zusammenzufassen, um die weitere effiziente Verarbeitung durch das Hadoop-Framework zu ermöglichen. Das Ergebnis der Datenvorverarbeitung sind CSV-Dateien die dem gewünschten Schema entsprechen und nach der einmaligen Definition eines Tabellenschemas über Spark SQL direkt abgefragt werden können. CSV-basierte Tabellen können beispielsweise mithilfe von Spark SQL auch in ein anderes Speicherformat wie komprimierte und partitionierte Parquet-Tabellen übergeführt werden. Der Einsatz von SQL als Abfragesprache ermöglicht es Data Scientists die Daten einfach zu aggregieren und zu kombinieren.
Das Video zeigt den Einsatz des verteilten Verarbeitungsframeworks Spark bei einer typischen Data Engineering Aufgabe, der Konvertierung und Aufbereitung von Industriedaten.
Daten analysieren: Vergleich hochfrequenter Zeitreihen
Zeitreihen sind Daten, die bei kontinuierlichen Reihen von Messungen auftreten, wie zum Beispiel während der Laufzeit einer Produktionsmaschine. Der Vergleich von zwei baugleichen Maschinen, die jedoch nicht synchron arbeiten, kann zu wichtigen Rückschlüssen führen. Dies tritt auch in der Produktion auf, beispielsweise werden zwei Maschinen synchron gestartet, aber bereits nach einigen produzierten Bauteilen ist deren Taktzeit verschoben. Mit Hilfe einer Methode aus dem Bereich Zeitreihenanalyse, genannt Dynamic Time Warping, kann man feststellen, wo genau im Programm der Vorsprung/Verzug auftritt sowie dessen Größe bestimmen. Diese Informationen sind aus dem Vergleich der rohen Zeitreihen nicht ablesbar, speziell wenn sich das Verhalten zwischen den Zeitreihen immer wieder ändert. Eine Similarity-Matrix, bei der zwei solche Zeitreihen miteinander verglichen werden, ermöglicht es rasch einen Überblick über alle betrachteten Zeitreihen zu gewinnen und dabei potenziell problematische Zeitreihen (Fehler, Ausreißer) zu erkennen. Der Wert in der Similarity-Matrix misst in einer Zahl die für den jeweiligen Use-Case relevante Distanz zwischen zwei Zeitreihen.
Die im Video betrachteten Daten sind hochfrequente Zeitreihen (Abtastrate ca. 6ms), die sich mit freiem Auge kaum unterscheiden. Mit Hilfe von Dynamic Time Warping (DTW) einer gängigen Methoden zum Vergleich von Kurven konnte festgestellt werden wo genau im Programm der Vorsprung/Verzug auftritt sowie dessen Größe bestimmt werden. Die am Ende des Videos gezeigte Similarity-Matrix ermöglicht es, rasch einen Überblick über alle betrachteten Zeitreihen zu gewinnen und dabei potenziell problematische Zeitreihen (Fehler, Ausreißer) zu erkennen, welche dann im nächsten Schritt einem genauen Vergleich mittels DTW-Pfad Analyse (in Video zuvor) unterzogen werden.
Autoren
DI Paul Heinzlreiter
Senior Data Engineer
Dr. Roxana-Maria Holom, MSc
Data Science Project Manager & Researcher