OTL – язык высокоуровневый работы с данными для организации конвейерной обработки (по типу вызова цепочки связанных через потоки ввода-вывода утилит в unix/linux).
Изначально разрабатывался на основе языка SPL компании Splunk и является по большинству функций обратно совместимым с ним.
Язык OTL обеспечивает крайне эффективное решение целого ряда задач обработки, прежде всего данных в виде машинно-сгенерированных журналов – логов. Основными функциями языка являются:
- полнотекстовый поиск и фильтрация по всему содержимому сообщений;
- выделение и поиск по выделенным полям;
- агрегация;
- объединение;
- обогащение данных по внешним или внутренним источникам;
- расчёт статистических показателей;
- математические преобразования данных;
- подготовка данных для отображения в конкретных видах визуализации;
- обучение и применение моделей машинного обучения из широкого набора открытых библиотек.
Фундаментальной особенностью OTL является высокая эффективность использования возможностей распараллеливания вычислений по кластеру вычислительных ресурсов как в режиме, близком к реальному времени (near real-time), так и в режиме пакетной обработки (batch processing).
SMaLL (Simple Machine Learning Language) – язык, расширяющий возможности OTL и позволяющий использовать все возможности WDC-Платформы без знаний в области машинного обучения или инженерии данных.
Основной идеей SMaLL является приведение решения большинства аналитических задач к трём стандартным фиксированным последовательностям конвейера команд – паттернам:
- Паттерн обучения модели (GetData | Fit | Explain | Score | Show).
- Паттерн применения модели (GetData | Apply | Score | Show).
- Паттерн работы со справочниками (GetData | Eval | Put).
Данные последовательности постоянны и отличаются только указанием в качестве операндов различных профилей – выделенных областей, под которые сформированы наборы плагинов – специализированных препроцессоров данных и алгоритмов машинного обучения, специфичных для конкретной области знания.
Такой подход позволяет скрыть от конечного пользователя рутинные подробности работы с данными и сконцентрировать его усилия на достижении конечного результата.
Особенностью SMaLL является наличие обязательной команды Explain, которая интерпретирует модель машинного обучения и представляет её в понятном человеку виде, что позволяет не только понять и скорректировать получившуюся модель, но и привнести в неё знания, известные человеку, но недоступные в конкретном наборе обучающих данных.