10 марта / 25

Modus ETL 1.6.11: оптимизация получения данных из источников 1С, экспорт описания и структуры таблиц хранилища и новые шаблоны в сценариях обработки данных.

На прошлой неделе вышло обновление Modus ETL. О том, какие изменения коснулись получения данных из источников, трансформации данных, управления хранилищем и не только – расскажем в этом обзоре.

Получение данных из источников

  • Добавлена быстрая загрузка больших файлов форматов XLSX и CSV. Теперь механизм загрузки данных реализован через Агент ETL. Так, 1 000 000 записей XLSX грузится за 53 секунды, а 4 000 000 записей CSV грузятся за 32 секунды.

  • Доработан механизм получения структуры метаданных хранилища из баз 1С: повторное получение списка доступных таблиц и состава их полей (обновление метаданных) из баз данных 1С теперь происходит в ~5 раз быстрее.

  • Улучшен механизм проверки корректности пользовательских настроек, отвечающих за взаимодействие между Агентом ETL и Modus ETL. Теперь при нажатии на кнопку "Проверить доступность" происходит не только проверка доступности Агента ETL, но и проверка настроек Modus ETL. Так пользователи могут выявить некорректные настройки сразу, не дожидаясь возникновения ошибок в процессе получения данных. 

  • Оптимизировано получение данных из источников 1С. Теперь данные передаются пачками фиксированного размера и сразу помещаются в хранилище. Это помогает обойти ограничения 1С-источников по передаче больших файлов и снижает потребление ОЗУ в базе-источнике.

  • Доработан Агент ETL: теперь заполнение параметров 'Адрес', 'Логин', 'Пароль' контролируется автоматически. Также добавлен вывод ошибок, выявленных при проверке, в лог работы.

  • В тестовой Альфа-версии добавлена возможность использования Агентом ETL модулей получения данных, написанных на языке Python. Теперь для загрузки данных, имеющих сложную и нестандартную структуру, можно будет подготовить специальный код на Python, встроить этот код в модуль получения данных в Modus ETL и настроить автоматическое получение данных.

Трансформация данных

Командой разработки были внесены изменения в работу со сценариями обработки данных: 
  • Теперь при копировании и переносе сценариев обработки данных схема (вёрстка) отображения шагов будет воспроизводиться в модели WorkFlow
  • В шаблон шага «Разделение строки» добавлена возможность использования «пробела» в качестве разделителя строк
  • В шаблон шага «Произвольный код 1С» добавлена возможность в коде 1С использовать «Параметры сценария»
  • В шаблоне шага «Перенос данных» механизм создания таблицы-приемника оптимизирован и адаптирован под современные версии ClickHouse
  • Добавлена возможность при помощи изменения SQL-запроса выполнять тонкую настройку параметров создания временных таблиц хранилища: раньше при использовании сценариев обработки данных все Временные таблицы создавались в хранилище по единому шаблону без возможности его изменения. Теперь пользователь может изменять SQL-запрос, выполняющий создание Временных таблиц. Это помогает подбирать более тонкие и оптимальные настройки для этих таблиц (например, настраивать индексы для больших таблиц, чтобы увеличивать скорость чтения данных из них и т.п.). При использовании сложных сценариев обработки данных такие настройки могут повысить скорость выполнения обработки данных в несколько раз.
  • Добавлена кнопка "Расширенные настройки" для управления выбранным объектом WorkFlow. Теперь пользователь может заходить в свойства шагов сценария и изменять типы связей между шагами, выбирая тип «Временная таблица» или «Вложенный запрос».

    photo_2025-03-21 15.59.12.jpeg

    Также в сценариях обработки данных были добавлены новые шаблоны, в т.ч.:

  • Шаблон «Очистка таблицы» (для очистки данных в таблицах хранилища)
  • Шаблон «Обновление таблицы» (для обновления данных в уже созданных таблицах хранилища в соответствии с настраиваемыми параметрами)

    photo_2025-03-21 15.59.08.jpeg

  • Шаблон «Обновление таблицы из таблицы-источника» (для обновления данных одной существующей таблицы хранилища на основании данных другой таблицы хранилища или на основании входящего потока с вложенным запросом)
Также был доработан Агент ETL: теперь работа шаблонов шагов сценария в части Machine Learning не требует установки отдельного специального сервиса. Если раньше предполагалось, что пользователь устанавливает отдельный сервис, работающий на Python, то теперь этого не нужно, так как Агент ETL выполняет эти функции самостоятельно.

Управление хранилищем

  • Доработана форма создания и редактирования таблицы хранилища: реализовано интерактивное управление параметрами полей (столбцов) без необходимости «проваливаться» в форму настройки каждого поля. Это повышает удобство пользователя при работе и экономит время настройки таблицы на ~30%.
  • Доработана форма редактирования таблицы хранилища: добавлена возможность на основании таблицы хранилища создать и обновить простой набор данных на аналитическом портале Modus BI без необходимости создавать таблицу хранилища заново. 
  • Доработана форма создания и редактирования таблицы хранилища: добавлен столбец 'Алиас', с помощью которого можно для каждого поля таблицы указать псевдоним для описательной документации, а также использовать его при создании простых наборов данных для аналитического портала Modus BI.
  • Добавлена возможность экспорта описания и структуры таблиц хранилища в виде файлов с описательной документацией:
    - Теперь можно экспортировать описание и структуру таблицы хранилища в формате PDF, XLSX, DOCX, TXT и не только;
    - В разделе «Управление хранилищем» добавлен пункт меню «Таблицы моделей», в котором можно выбрать несколько таблиц хранилища для экспорта описания и структуры в один общий файл;

    photo_2025-03-21 15.59.19.jpeg

    - Добавлена вкладка «Общее описание», в которой пользователи могут указать общую информацию о таблице для подготовки описательной документации;
    - Оптимизировано отображение поля «Комментарий» для таблицы хранилища: поле ввода уменьшено до размера одной строки с возможностью раскрытия полноценной многострочной формы ввода данных в виде всплывающего окна.
Описанные доработки помогают поддерживать актуальность документации по таблицам хранилища, которые участвуют в процессе получения и трансформации данных при помощи Modus ETL.

Теперь пользователь может экспортировать структуру таблиц хранилища в виде файлов и использовать их для подготовки отчётной документации по проектам, пояснительных записок, инструкций и так далее. Это сокращает трудозатраты на подготовку документации по используемым таблицам и наборам данных минимум в два раза.
 
Команда Modus также поработала над информационной безопасностью Modus ETL. Теперь пароль строки подключения к ETL при выводе информации в файл лога скрыт.

Прочие доработки

  • В очередной раз получен сертификат «1С:Совместимо» для Modus ETL: успешно пройдена процедура подтверждения требований компании 1С для получения сертификата соответствия.
  • Выполнено обновление «1С:Библиотеки стандартных подсистем» до версии 3.1.9.
  • Доработан раздел «Основные настройки»: на вкладке «Прочее» в группу «Очистка журналов событий сбора данных» добавлены дополнительные опции управления (очистка журналов событий сбора данных, настройка расписания и события очистки).

    photo_2025-03-21 15.59.28.jpeg

  • Актуализирована служебная форма для тестирования взаимодействия между Modus ETL и Агентом ETL
  • На главной странице Modus ETL добавлена возможность скачивать дистрибутивы Агента ETL и Адаптера ETL для 1С. Если раньше нужно было получать дистрибутивы на сайте 1С или искать их в каталоге с шаблонами конфигураций 1С, то теперь этого делать не нужно.

Исправлены ошибки

  • В сценариях обработки данных доработана форма шаблона «Произвольный код SQL»: скрыта не используемая кнопка «Временные таблицы»
  • Исправлена ошибка зависания пакетов обработки данных, возникавшая при наличии пропущенных шагов
  • Доработан инструмент «Загрузка структуры конфигурации»: исправлена ошибка, возникавшая при использовании опции «Частичная загрузка»
  • Доработан мастер интеграции: исправлена ошибка, не позволявшая корректно удалять выбранные поля в форме создания таблицы-приемника
  • Доработано получение данных из веб-сервиса: исправлена ошибка редиректа в http-запросах, выполняемых с помощью модуля сбора данных из веб-сервиса
  • Исправлена ошибка получения данных из CSV-файлов при использовании «Правила выгрузки»
  • Исправлена ошибка получения данных из менеджера сервиса «1С Фреш» через интерфейс взаимодействия Odata
  • Выполнена отладка работы и устранены промежуточные ошибки в работе мастера «Загрузка файла в БД», возникшие после перехода мастера на работу через Агента ETL: загрузка данных из различных листов файла XLSX, загрузка данных в существующую таблицу хранилища
  • Исправлена ошибка в работе мастера интеграции: восстановлено управление расписанием выполнения пакета обработки данных при изменении настроек мастера интеграции
  • Исправлена ошибка получения данных по расписанию, которая возникала при определенной редко встречающейся комбинации настроек, косвенно связанных с коннектором для 1С «ComConnector»: добавлен контроль устаревшей функциональности «Перерегистрация com-connector'а»
  • Исправлена ошибка, возникающая при открытии «Консоли запросов к БД» из карточки подключения к базе данных PostgreSQL
  • Исправлена ошибка создания таблицы хранилища при использовании мастера сбора данных, возникшая в результате доработки формы создания таблиц
  • Исправлена ошибка пересоздания таблицы хранилища в правиле выгрузки: при использовании кнопки "Дозаполнить поля таблицы"