Formato di file ionic per Big Data


Home » Risorse » Qui

Il funzionamento di Envision si basa sull'elaborazione di gruppi di file tabellari. Tuttavia, i comuni file flat di testo (come ad esempio i CSV), anche se possono essere generati e spostati facilmente, sono pensati per scopi piuttosto semplici, non per calcoli complessi. Il formato Ionic, invece, è un formato di archiviazione a colonne concepito proprio per l'elaborazione di Big Data. Gli script di Envision sono in grado di leggere e scrivere file Ionic: questo tipo di file, rispetto ai classici file flat, offre enormi vantaggi in termini di scalabilità e una più forte tipizzazione dei dati.

Come si usano i file Ionic

I file Ionic (associati all'estensione .ion) sono pensati per supportare l'elaborazione di Big Data all'interno di Lokad. Questo tipo di file può essere elaborato molto più rapidamente (da 5 a 10 volte più rapidamente rispetto a un file CSV) e in modo più affidabile grazie alla tipizzazione più forte dei dati. Quando abbiamo dati per centinaia di megabyte, i file Ionic sono la scelta più giusta, poiché consentono di gestire in modo relativamente semplice anche decine e decine di gigabyte di dati alla volta.

Il formato Ionic è un formato di dati a uso interno, utilizzabile esclusivamente con la piattaforma Lokad: non ci aspettiamo certo che i nostri clienti carichino i propri dati in Lokad già formattati, né pretendiamo che esportino i risultati nei propri sistemi in file Ionic.

I file Ionic vengono di solito generati quando si preparano i dati di input. I dati di input estratti dai sistemi ERP sono spesso inadatti a essere elaborati "così come sono", almeno in un'ottica di ottimizzazione commerciale. Di conseguenza, questi dati devono essere prima trasformati in file più adeguati all'analisi che si intende eseguire: i file di dati così "preparati" sono ottimi candidati alla conversione in file di tipo Ionic.

Panoramica tecnica sull'archiviazione con Ionic

Il formato Ionic è un formato di archiviazione con colonne. All'interno di un account Lokad, appare sotto forma di file binari con estensione .ion. Il formato è simile a Apache Parquet, ma leggermente più semplice. Inoltre, Ionic utilizza algoritmi ottimizzati specificatamente per l'analisi predittiva eseguita con la piattaforma Lokad.

A differenza dei file flat di testo, i file Ionic beneficiano di una tipizzazione forte: ciò significa che ogni colonna è associata a un tipo di dato, ossia testo, data o numero. La tipizzazione forte è una proprietà importante, che aiuta a minimizzare gli errori durante l'elaborazione di dati da inserire in una sequenza di script, soprattutto se uno degli script deve leggere, come file di input, il file di output creato da un altro script.

L'archiviazione a colonne prevede che ogni colonna possa essere recuperata e letta separatamente. Questo consente di sveltire enormemente il processo di elaborazione, in primo luogo perché permette a Lokad di caricare solo le colonne necessarie per il calcolo, e in secondo luogo perché facilita la struttura parallela implicita nell'elaborazione dei dati. L'archiviazione a colonne si rivela dunque particolarmente utile per analizzare la catena distributiva o le strategie di pricing: in questi due settori, infatti, le tabelle contengono di solito decine, se non centinaia, di colonne.

Il formato Ionic è binario e riduce quasi a zero il rischio di perdita dei dati durante la compressione: per questo i file Ionic sono molto più compatti rispetto ai file CSV, al punto da avvicinarsi alle dimensioni di un file CSV compresso con GZip. Le dimensioni ridotte consentono inoltre di velocizzare il processo di elaborazione dei dati, perché, a differenza della compressione GZip, questo formato di file è pensato per assicurare la massima rapidità (è comunque un formato non generico, applicabile ai soli file tabellari, mentre GZip può gestire qualsiasi tipo di dati).

Usare Ionic con Envision

Nel caso di Envision, il formato di file Ionic, identificato dall'estensione .ion, non è diverso da altri formati di file. Un file Ionic può essere generato con la sintassi seguente:
show table "Products" export:"/sample/products.ion" with
 Id 
 Name
Per leggere un file Ionic basta applicare la sintassi seguente:
read "/sample/products.ion" as Products[*]
Come si può vedere, a parte l'estensione .ion, il file non presenta aspetti particolari.

Quando si usa il formato di dati Ionic, è possibile esportare i vettori delle distribuzioni nel file .ion.