面向大数据处理的 Ionic 文件格式

面向大数据处理的 Ionic 文件格式


首页 » 资源 » 此处

Envision 着眼于对表格文件进行批处理。但是,尽管常用的纯文本文件(例如 .CSV)很容易生成和移动,但使用此类格式的主要目的在于简单,不在于高性能计算。与此相反,Ionic 文件格式则是一种面向大数据处理的柱状存储格式。Ionic 文件可以通过 Envision 脚本进行读写。该种文件格式的可扩展性明显优于纯文本文件,并且数据键入功能也更强大。

Ionic 文件的预期用途

Ionic 文件(关联的文件扩展名为 .ion)用于支持 Lokad 中的大数据处理。Envision 不仅能以快得多的速度处理这种类型的文件(比 CSV 文件的处理速度快 5 到 10 倍),而且由于具有更强大的数据键入能力,因此处理起来也更可靠。实际上,只要处理的文件超过几百 MB,我们就建议使用 Ionic 文件格式。在使用 Ionic 文件格式时,可以相对快捷地同时处理几十 GB 大小的文件。

Ionic 文件格式是一种内部数据格式,仅限于在 Lokad 平台中使用。我们既不要求客户公司将已经转换为 Ionic 格式的文件传输给 Lokad,也不需要获取 Ionic 数据文件来在客户的企业系统中使用。

Ionic 文件通常会在准备输入数据时生成。事实上,就业务优化的角度而言,从 ERP 系统中提取的原始输入数据几乎根本不适合进行“原样”处理。因此,原始输入数据文件需要转化为特别处理过的数据文件,后者更适合在适当时候进行分析。这些“特别处理过”的数据文件就是最适合用 Ionic 文件格式编写的对象。

Ionic 存储格式的技术性概述

Ionic 是一种柱状存储格式。在 Lokad 帐户中,这种格式显示为二进制文件形式,且关联文件扩展名 .ion。尽管这种格式简单程度适中,但它与 Apache Parquet 相似。不过,Ionic 还包含专门针对 Lokad 平台中频繁执行的预测分析进行了优化的算法。

与纯文本文件不同,Ionic 文件的键入能力很强。这意味着每列都有一种数据类型,例如文本、日期或数字。强大的键入能力是一种很重要的属性,有助于防止“溜进”脚本序列时发生数据处理错误,也即一段脚本作为输入文件读取,而该输入文件先前由另一段脚本作为输出文件写入。

柱状存储意味着每列可以单独检索和读取。Ionic 文件的这种属性有助于显著提升处理速度,这首先是因为它允许 Lokad 只加载需要进行计算的列,其次则是因为它有利于隐式并行数据处理。这种属性对于供应链或定价分析格外有用,因为在这两个领域中,表格中多则数百列,少则也有数十列。

Ionic 的二进制格式确保了无损数据压缩程度。因此,Ionic 文件通常明显小于对应的 CSV 文件,而 CSV 文件与 GZip 压缩型 CSV 文件的大小非常接近。文件大小减小也有利于提升处理速度,因为与 GZip 压缩不同,这种二进制格式的速度也很快(但并不具备普遍性,因为只适用于表格数据,而 GZip 则适用于任意类型的数据)。

在 Envision 中使用 Ionic

从 Envision 的角度来说,Ionic 数据格式的处理与其他任何数据格式如出一辙。这种数据格式通过文件扩展名 .ion 来识别。生成 Ionic 格式文件的脚本如下:
show table "Products" export:"/sample/products.ion" with Id, Name
读取 Ionic 格式文件的语法如下:
read "/sample/products.ion" as Products[*]
重申一下,Ionic 文件除了文件扩展名为 .ion,此外没有任何特殊性。

在使用 Ionic 数据格式时,可以将分布向量导出为.ion 文件。