Главная »
Ресурсы » Здесь
Язык Envision рассчитан на обработку партий табличных файлов. Обычные текстовые файлы (например, CSV) легко создавать и перемещать, однако основным преимуществом таких форматов является их простота, а не высокая производительность вычислений. Формат ion, напротив, используется для создания файлов со столбцами данных, нужных для обработки большого объема информации. Файлы ion можно считывать и прописывать с помощью сценариев Envision. Данный формат файлов имеет огромные преимущества с точки зрения масштабирования, а также более мощную типизацию данных по сравнению с простыми текстовыми файлами.
Назначение файлов ion
Файлы ion (расширение
.ion
) предназначены для оптимизации обработки больших объемов данных в системе Lokad. Данный тип файлов может не только быстрее обрабатываться в Envision (в 5–10 раз быстрее, чем CSV), но обработка также происходит гораздо стабильнее за счет мощной системы типизации данных. Если объем обрабатываемых файлов превышает несколько сотен мегабайт, рекомендуется использовать формат ion. Формат ion позволяет быстро обрабатывать десятки гигабайт информации одновременно.
Формат ion является внутренним форматом Lokad и используется только на данной платформе. Мы не требуем клиентов присылать файлы в Lokad, уже сконвертированными в формат ion, и не заставляем их внедрять их в свои системы.
Файлы ion обычно создаются при подготовке входящих данных. Исходные данные, полученные из ERP, практически никогда нельзя использовать «как есть» — это неоправданно с точки зрения оптимизации бизнеса. Как следствие, исходные входящие данные необходимо преобразовать в специальные файлы, которые лучше подходят для проведения анализа. Как раз эти «специальные» файлы лучше всего записывать в формате ion.
Технический обзор формата ion
Формат ion предназначен для хранения данных в столбцах . В системе Lokad данный формат представляет собой бинарные файлы с расширением
.ion
. Этот формат напоминает
Apache Parquet, хотя он заметно проще. Формат ion также включает в себя оптимизированные алгоритмы, которые специально подобраны для выполнения анализа во время составления прогнозов на платформе Lokad.
В отличие от простых текстовых файлов в формате ion используются строгие типы. Это означает, что для каждого столбца назначается тип данных: текст, дата или число. Строгая типизация — это важное свойство, которое позволяет предотвращать ошибки обработки данных в сценариях, например, когда один сценарий считывает файл как входящий, в то время как он является итоговым файлом другого сценария.
Такие файлы нужны для извлечения и прочтения отдельных столбцов. Файлы ion могут значительно повысить скорость обработки данных, во-первых, потому что они позволяют Lokad загружать только те столбцы, которые действительно нужны при расчетах, а во-вторых, потому что они рассчитаны на скрытую параллелизацию обработки данных. Данное свойство особенно полезно в сфере цепей поставок и аналитики ценообразования, потому что в этих сферах часто встречаются таблицы с десятками, а то и тысячами столбцов.
Бинарный формат файлов ion позволяет сжимать данные без потерь. Как следствие, файлы ion обычно заметно меньше файлов CSV, содержащих ту же информацию. Их размер сопоставим с файлом CSV, сжатым в формате GZip. Уменьшение размера файла также позволяет повысить скорость обработки данных, потому что (в отличие от архивов GZip) бинарный формат предполагает быструю обработку данных (хотя пригоден не для всех случаев, поскольку предназначен только для табличных данных, тогда как формат GZip предназначен для любых данных).
Использование файлов ion в Envision
С точки зрения Envision, файлы ion обрабатываются так же, как и любой другой формат. Расширение данного формата —
.ion
. Создание файла в формате ion выполняется следующим образом:
show table "Products" export:"/sample/products.ion" with Id, Name
Считывание файла в формате ion выполняется следующим образом:
read "/sample/products.ion" as Products[*]
Повторимся, файлы ion выделяются среди других только своим расширением (
.ion
).
При использовании данных формата ion их можно экспортировать
векторы распределения в файл с расширением
.ion
.