Руководство пользователя

Руководство пользователя

Временные данные в рабочих процессах

Для повышения производительности и возможности проверки результатов на промежуточных этапах, рабочие процессы используют временные объекты данных, которые по умолчанию хранятся в схеме/наборе данных под названием workflows_temp в вашем хранилище данных.

Эта система промежуточных таблиц функционирует как кэш, избегая повторного выполнения всех этапов рабочего процесса, если они не были изменены; таким образом, повторно выполняются только те, которые были изменены или их входные данные изменились при повторном запуске ваших рабочих процессов.

Специфические разрешения, требуемые рабочими процессами в вашем хранилище данных

Чтобы Epsilon могло выполнять рабочие процессы в вашем складе данных и временно хранить данные, создаваемые на промежуточных этапах анализа, требуется определенный набор разрешений для подключения, выбранного при создании вашего рабочего процесса.

PostgreSQL

-- Если схема workflows_temp уже существует: 
-- Предоставьте разрешения на управление схемой 
GRANT ALL PRIVILEGES ON SCHEMA DATABASE_NAME.WORKFLOWS_TEMP TO ROLE ROLE_NAME; 
-- Если схема workflows_temp еще не существует: 
-- Предоставьте разрешения на создание схемы 
GRANT USAGE ON DATABASE DATABASE_NAME TO ROLE ROLE_NAME; GRANT CREATE SCHEMA ON DATABASE DATABASE_NAME TO ROLE ROLE_NAME;

Управление временными данными, создаваемыми рабочими процессами

Когда ваш рабочий процесс выполняется, он сохраняет результаты вывода в промежуточных таблицах. В зависимости от платформы хранилища данных применяется разная стратегия для очистки созданных промежуточных таблиц рабочих процессов Epsilon. Конфигурация по умолчанию удаляет промежуточные таблицы через 30 дней.

PostgreSQL

Когда ваш рабочий процесс выполняется в PostgreSQL, задача pg_cron автоматически создается в схеме workflows_temp для удаления промежуточных таблиц через 30 дней. Эта задача выполняется периодически каждый день в 0 часов по UTC.

Команда для установки расширения pg_cron:

CREATE EXTENSION pg_cron; 

Необходимые разрешения для создания задачи pg_cron:

-- Разрешения на управление схемой
GRANT ALL ON SCHEMA workflows_temp TO user_name; 
-- Разрешения на управление задачей 
GRANT USAGE ON SCHEMA cron TO user_name; GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA cron TO user_name; 

Обратите внимание, что задача затрагивает только таблицы в этой схеме. Если имя схемы изменено в подключении, например, на workflows_temp_custom, будет создана новая задача для новой схемы.

Параметры кэширования

При выполнении рабочих процессов из пользовательского интерфейса промежуточные таблицы создаются для каждого узла рабочего процесса. В зависимости от соединения, используемого для вашего рабочего процесса, эти промежуточные таблицы будут использоваться повторно, избегая повторного создания, когда структура или настройки рабочего процесса не изменились.

Для управления этим поведением вы найдете меню «Настройки кэша» рядом с кнопкой «Выполнить»:

При включении (это опция по умолчанию) будет предпринята попытка повторно использовать предыдущие успешные выполнения рабочего процесса и его промежуточные шаги с некоторыми различиями в зависимости от хранилища данных:

  • Хранилище данных Epsilon, BigQuery и Snowflake : промежуточные и результирующие таблицы будут использоваться повторно до тех пор, пока структура рабочего процесса не изменится.

    • Этот параметр применяется к выполнениям из пользовательского интерфейса, запускаемым нажатием кнопки «Выполнить».

    • Этот параметр также применяется к запланированным рабочим процессам.

    • Для рабочих процессов, выполняемых через вызов API , таблица Output будет повторно использоваться между вызовами API, имеющими точно такие же значения параметров. Если параметры изменяются, таблица Output будет пересчитана.

  • Redshift и PostgreSQL: Промежуточные таблицы никогда не используются повторно. Это означает, что все узлы в рабочем процессе всегда вычисляются полностью.

    • Этот параметр не влияет на выполнение из пользовательского интерфейса, запускаемое нажатием кнопки «Выполнить».

    • Этот параметр также не влияет на запланированные выполнения (доступно только для подключений PostgreSQL).

    • Для рабочих процессов, выполняемых через вызов API , таблица Output будет повторно использоваться между вызовами API, имеющими точно такие же значения параметров. Если параметры изменяются, таблица Output будет пересчитана.

Если этот параметр отключен, все промежуточные и результирующие таблицы будут всегда пересчитываться во всех режимах выполнения (пользовательский интерфейс, расписание и вызов API), независимо от обновлений исходных таблиц или значений параметров.