Ion-Dateiformat für Big Data




Startseite » Ressourcen » Hier

Envision ist auf die Verarbeitung von tabellarischen Dateien in Stapeln ausgerichtet. Während gewöhnliche flache Textdateien (z.B. CSV) einfach zu generieren und zu bewegen sind, steht bei der Nutzung solcher Formate nicht primär eine hohe Leistung bei der Berechnung im Vordergrund. Im Gegensatz hierzu, ist das Ion-Dateiformat ein Speicherformat in Spalten, das eigens für die Verarbeitung von Big Data konzipiert ist. Ion-Dateien können über Envision-Skripte gelesen und geschrieben werden. Dieses Dateiformat bietet flachen Textdateien gegenüber deutliche Vorteile, was die Skalierbarkeit betrifft, sowie auch eine stärkere Datentypisierung.

Vorgesehene Nutzung Ion-Dateien

Ion-Dateien (die der Dateierweiterung .ion) entsprechen) dienen zur Unterstützung der Big Data-Verarbeitung in Lokad. Dieser Dateityp wird nicht nur in Envision deutlich schneller verarbeitet (etwa 5- bis 10-mal schneller im Vergleich zu CSV-Dateien), sondern wird auch dank des stärkeren Datentyps zuverlässiger verarbeitet. In der Tat empfehlen wir, das Ion-Dateiformat immer dann zu nutzen, wenn die zu verarbeitenden Dateien über einige hunderte Megabytes erreichen. Denn mit Ion-Dateien können sogar gleichzeitig dutzende Gigabytes ziemlich zügig verarbeitet werden.

Das Ion-Dateiformat ist als internes Datenformat Lokads Plattform vorenthalten. Wir erwarten weder, dass die Unternehmen unserer Kunden Dateien bereits im Ion-Format an Lokad übermitteln, noch dass sie die Ion-Datendateien für den eigenen Gebrauch in ihren Unternehmenssystemen abrufen.

Ion-Dateien werden gewöhnlich bei der Vorbereitung der Eingabedateien generiert. Selten sind die aus ERP erhaltenen Rohdaten, aus der Sicht der Betriebsoptimierung, zur Verarbeitung geeignet. Folglich müssen die Rohdaten für die Eingabe in Dateien vorbereitet werden, die sich für die entsprechende Analyse eignen. Diese „vorbereiteten“ Datendateien sind daher die besten Kandidaten, um im Ion-Dateiformat geschrieben zu werden.

Technische Übersicht des Ion-Speicherformats

Ion ist ein spaltenbasiertes Speicherformat. In Lokads Konto taucht dieses Format in Form von binären Dateien, die der .ion-Dateierweiterung zugeordnet sind, auf. Dieses Format weist einige Ähnlichkeiten mit Apache Parquet auf, obwohl es etwas einfacher ist. Dennoch enthält das Ion-Format optimierte Algorithmen, die besonders für Prognoseanalysen, die auf Lokads Plattform häufig ausgeführt werden, maßgeschneidert sind.

Im Gegensatz zu flachen Textdateien, besitzen Ion-Dateien eine starke Typisierung. Dies bedeutet, dass jede Spalte einen Datentyp hat, wie etwa Text, Datum oder Zahl. Die starke Typisierung stellt eine wichtige Eigenschaft dar, die zur Vorbeugung von Fehlern bei der Datenverarbeitung in den Skripts beiträgt, also wenn ein Skript als Eingabedatei gelesen wird, das von einem anderen Skript zuvor als Ausgabedatei geschrieben wurde.

Speicher nach Spalten bedeutet, dass jede Spalte separat abgerufen werden kann. Diese Eigenschaft der Ion-Dateien kann die Geschwindigkeit der Verarbeitung deutlich erhöhen. Erstens, weil es Lokad ermöglicht, ausschließlich die für die Berechnung notwendige Spalten zu lesen. Zweitens, weil es die implizite Parallelisierung der Datenverarbeitung vereinfacht. Diese Eigenschaft ist besonders für die Analyse von Lieferketten oder Preise nützlich, da in diesen Bereichen oft Tabellen im Umfang von dutzenden, wenn nicht hunderten, Spalten, auftreten.

Das binäre Ion-Format gewährleistet ein gewisses Maß an verlustfreier Datenkompression. Folglich tendieren Ion-Dateien, kleiner als die entsprechenden CSV-Dateien zu sein, wobei sich ihre Größe oft der von GZip komprimierten CSV-Dateien nähert. Die Verringerung der Dateigröße verbessert somit auch die Geschwindigkeit der Verarbeitung, da - im Gegensatz zur GZip-Kompression - dieses binäre Format besonders für hohe Geschwindigkeit entwickelt wurde (doch nicht-generisch, da es sich nur auf tabellarische Daten auswirkt, im Gegensatz zu GZip, das sich auf jegliche Datenarten auswirkt).

Ion-Dateien in Envision nutzen

Aus der Sicht von Envision, wird das Ion-Datenformat, wie jedes andere Datenformat behandelt. Es wird durch die .ion-Dateierweiterung erkannt. Eine Ion-Datei kann, wie folgt, generiert werden:
show table "Products" export:"/sample/products.ion" with
  Id
  Name
Lesen kann man das Ion-Format mit:
read "/sample/products.ion" as Products[*]
Wie erwähnt, gelten keine Besonderheiten für Ion-Dateien, außer der .ion-Dateierweiterung.

Wenn das Ion-Dateiformat benutzt wird, ist es möglich, Verteilungssvektoren als .ion-Datei zu exportieren.