Основные принципы выполнения узлов
При запуске узла PolyAnalyst получает команду выполнить задачу узла, т.е. выполнить основную функцию узла. Например, при запуске узла, настроенного на импорт электронной таблицы, PolyAnalyst получает доступ к файлу электронной таблицы данных, сканирует его содержимое и сохраняет содержимое в качестве выходных данных узла в проекте PolyAnalyst.
Выходные данные узла
Когда узел завершает свою задачу, например, когда узел, предназначенный для импорта данных, завершает импорт, PolyAnalyst сохраняет импортированные данные как результаты узла в вашем проекте. Результаты выполнения узла называются выходными данными узла. Чтобы просмотреть результаты узлов, не нужно выполнять эти узлы снова. Результаты узлов, которые завершили выполнение, сохраняются внутри проекта.
Результаты узла мы также будем называть выходными данными узла, объектом узла, кэшем или видом.
Для просмотра результатов узла выполнять их повторно не требуется.
Каждый узел в PolyAnalyst имеет свое назначение, например, импорт данных определенного типа, или обучение модели. Тем не менее, узлы, выполняющие разные функции, могут производить результаты одного типа. Даже если один узел импортирует таблицу, а другой предназначен для фильтрации записей в таблице, оба узла выдают результат одного типа: таблицу данных.
Различают следующие типы выходных данных узлов в PolyAnalyst:
-
таблицы
-
модели
-
графики
-
отчеты
Есть несколько других типов выходных данных, но они немногочисленны и описываются в специальных разделах.
В рамках данного руководства мы создадим таблицу данных.
Каждый раз, когда вы запускаете узел, который уже выдал результаты, узел заменяет эти результаты. После первого выполнения узла его результаты сохраняются. Вы можете в любое время выполнить узел заново, при этом узел выполнит ту же задачу во второй раз.
При повторном выполнении узла новые данные заменяют предыдущие данные, и эти предыдущие данные полностью удаляются.
Результаты могут неожиданно измениться при повторном выполнении узла, несмотря на то, что настройки узла не были изменены. Например, если вы используете узел Файлы CSV для импорта CSV файла, запускаете узел для получения некого результата, затем редактируете внешний исходный CSV файл и снова запускаете узел Файлы CSV, полученный результат будет отличаться от первоначального из-за изменений CSV файла. При этом настройка узла Файлы CSV осталась прежней. |
Как выполнить узел
Вы можете выполнить узел следующими способами:
-
Нажать на узел правой кнопкой мыши и выбрать опцию Выполнить (или Выполнить до этого узла).
-
Выполнить предшествующий узел в цепочке настроенных узлов.
-
Выполнить следующий узел в цепочке настроенных узлов.
-
Настроить расписание, которое запускает выполнение узла позже в назначенное время или после какого-либо события.
Каждый раз, когда вы запускаете выполнение узла, вы также запускаете выполнение всех узлов, соединенных с данным узлом. В этом случае не имеет значения, с какого узла вы запустили выполнение. Однако в определенных ситуациях от того, какой узел вы запустили, зависит то, какие связанные с ним узлы будут выполняться. Такие ситуации описываются далее.
Как PolyAnalyst реагирует на изменения во внешних источниках данных
PolyAnalyst не отслеживает, изменились ли исходные данные с момента импорта. Например, PolyAnalyst не отслеживает состояние файла с электронной таблицей на вашем компьютере, не отслеживает его изменение автоматически и не осуществляет автоматический импорт. Однако вы можете, например, настроить такое расписание, при котором узел будет регулярно выполняться для того, чтобы данные всегда были актуальными.
Как выполнить один или несколько узлов
Вы можете выполнить целую цепочку соединенных узлов, выбрав выполнение первого узла в данной последовательности.
-
Правой кнопкой мыши нажмите на узел на скрипте или в дереве проекта и выберите опцию Выполнить; или откройте свойства узла и нажмите кнопку Выполнить внизу окна свойств. Кроме этого PolyAnalyst можно настроить так, чтобы двойной клик на узел на скрипте запускал бы его выполнение.
-
При этом PolyAnalyst может выдать подсказку, спрашивая вас о том, хотите ли вы выполнить узел. Поскольку выполнение узла, как правило, приводит к замене результатов, и поскольку решение о выполнении узла влияет на все нисходящие узлы (в том смысле, что результаты этих узлов будут также изменены), вам необходимо подтвердить свое действие.
-
PolyAnalyst верифицирует способность узла выполнить свою задачу. Узел невозможно выполнить, если он не имеет входных данных (входное соединение с другим узлом не настроено). Узел также невозможно выполнить, если он не настроен должным образом.
-
PolyAnalyst может определить, что для того, чтобы выполнить конкретный узел, сначала нужно выполнить предшествующие узлы. В этом случае PolyAnalyst возвращается на шаг 2 к узлам, которые необходимо выполнить, выполняет их, и при успешном выполнении, заканчивает операцию с текущим узлом и переходит к следующему шагу.
-
PolyAnalyst начинает выполнять узел.
-
Ход выполнения данного узла отображается в списке задач.
-
По завершении выполнения узла PolyAnalyst может перейти к другим узлам в цепочке и выполнить их. Если вы хотите, чтобы последующие узлы не были выполнены, то в следующий раз выберите опцию Выполнить до узла вместо опции Выполнить.
-
Выполнение проекта завершается, когда завершается выполнение всех узлов.
Альтернативные способы выполнения узлов
-
Кликните правой кнопкой мыши на пустое место на скрипте и выберите Выполнить все. При данном способе будут выполнены все узлы в проекте. В отличие от стандартного "точечного" выполнения узлов, данный метод запускает повторное выполнение всех узлов, включая те узлы, которые уже были выполнены. Другими словами, опция Выполнить все применяется ко всему проекту. Это удобно при работе с большими скриптами, состоящими из нескольких цепочек узлов, в которых для того, чтобы выполнять все узлы по отдельности, потребуется много времени.
-
Кликните правой кнопкой мыши на пустое место на скрипте и выберите Продолжить выполнение. С помощью этого метода будут выполнены все узлы, которые могут быть выполнены. Это главным образом относится ко всем узлам в состоянии "готов" (на их иконке отображается желтый восклицательный знак). Это удобно при работе с более сложными скриптами, когда предпочтительно выполнить все возможные узлы, а не искать на скрипте отдельные узлы, которые необходимо выполнить, но при этом вы хотите избежать повторного запуска тех узлов, которые уже завершили обработку данных.
Выполнение узла Файлы CSV
Щелкните правой кнопкой мыши по узлу Файлы CSV, который мы создали на предыдущем этапе. В контекстном меню выберите Выполнить.
Если узел настроен неправильно, выполнение его невозможно.
Если узел настроен правильно, PolyAnalyst начнет выполнение узла. В правом нижнем углу появится сообщение "Выполнение запущено". В это время в правом верхнем углу появится информация о количестве текущих задач, выполняемых на данный момент времени. Нажмите на количество текущих задач, чтобы развернуть список задач с информацией о степени выполнения узла. После того, как задача будет выполнена, она удаляется из списка задач.
Вы можете не увидеть задачу в списке задач, если задача выполняется очень быстро. Список задач обновляется каждые несколько секунд. Иногда задача одновременно запускается и завершается между обновлениями.
Если произошла ошибка, в списке задач остается задача и отображается сообщение об ошибке.
После запуска узел Файлы CSV делает следующее:
-
создает пустую таблицу
-
открывает файл PatientData.csv
-
обрабатывает содержимое файла CSV построчно и сохраняет значения строк в виде записей в новой таблице выходных данных.
После завершения выполнения узла в левом нижнем углу иконки узла появляется маленькая зеленая галочка. Это значит, что узел выполнил свою задачу. Теперь можно просмотреть результаты узла и выходную таблицу. Просмотр результатов узла описывается далее.
Список задач
PolyAnalyst предназначен для операций по обработке данных, выполнение которых может занять несколько часов или несколько дней. В процессе выполнения узла вы можете отслеживать ход работы с помощью панели Список задач в окне Аналитического клиента.
На следующем рисунке список задач показывает, что PolyAnalyst обрабатывает одну задачу.
Список задач может отображать несколько задач, поскольку PolyAnalyst может выполнять более одного узла в единицу времени.
Отображение задач, запущенных всеми пользователями
В Списке задач отображаются только те задачи, которые выполняются в текущем (открытом) проекте. Если вы работаете в компании с несколькими пользователями PolyAnalyst, то PolyAnalyst может быть занят выполнением узлов в проектах других пользователей. Помните, что это может быть причиной того, что выполнение задач в вашем проекте будет занимать больше времени, поскольку при выполнении нескольких задач PolyAnalyst работает медленнее, даже если вы не видите других задач.
Если вы хотите просмотреть текущие задачи для всех проектов (включая задачи, запущенные другими пользователями), обратитесь к разделу по отслеживанию работы сервера в Административном клиенте. Для этого необходимо иметь права администратора.
Измерение хода выполнения задачи
Задачи в PolyAnalyst выполняются с разной скоростью. Степень выполнения некоторых задач иногда бывает очень сложно определить.
Для некоторых простых задач измерение степени их выполнения предполагает простой подсчет количества выполненных шагов из общего количества шагов, которые должны быть выполнены. При выполнении других типов задач, например, в ходе обучения некоторых моделей, PolyAnalyst может лишь приблизительно определить степень их выполнения.
В разделах Справочника по узлам, посвященных описанию узлов, время выполнения которых не так просто определить, можно найти дополнительную информацию по данному вопросу.
PolyAnalyst не может измерить степень выполнения некоторых узлов. В таком случае индикатор выполнения задачи может "зависнуть" на отметке 0% или 99% до тех пор, пока узел не завершит свою работу.
Остановка задач
Вы можете остановить выполнение задач в любое время до их завершения. Для остановки текущей задачи нажмите кнопку Остановить задачу на панели инструментов (кнопка активируется только после запуска задач).
Нажмите Остановить все для остановки всех задач текущего проекта.
Ошибки выполнения узла
Существуют четыре типа ситуаций, возникающих в результате запуска узла:
-
Узел выполнен успешно без ошибок. Вы можете просмотреть результаты узла и использовать выходные данные узла в качестве входных данных для других узлов.
-
Узел выполнен успешно, но с некритическими ошибками. Можно просмотреть результаты узла и использовать выходные данные узла в качестве входных данных для других узлов. Помните об ошибке: она может проявится на более поздних этапах анализа.
-
Узел не может быть выполнен в связи с критической ошибкой. Нельзя просмотреть результаты узла и нельзя использовать выходные данные узла.
-
При выполнении узла возникла серьезная проблема на сервере PolyAnalyst. Вам придется снова запустить сервер PolyAnalyst и/или связаться с технической поддержкой компании Мегапьютер.
Некритической ошибкой называется проблема, решение которой известно системе PolyAnalyst. Некритические ошибки не препятствуют выполнению узла. Примером некритической ошибки является искаженное значение внутри файла CSV. PolyAnalyst просто пропустит его, вместо того, чтобы останавливать импорт файла.
В случае возникновения некритической ошибки в правом верхнем углу иконки узла на скрипте появится небольшой предупреждающий знак, при наведении курсора на который на экране отобразится подсказка. Кроме того, список задач не удаляет выполненную задачу сразу. Вместо этого список задач показывает, что узел завершил выполнение, но с некритическими ошибками. Наконец, узел может предложить несколько вариантов просмотра некритических ошибок. Например, в контекстном меню узла, вызываемом правой кнопкой мыши, вы можете увидеть опцию Показать описание ошибки или Показать журнал, что позволяет вам открыть отдельное окно с информацией по каждой ошибке.
В отличие от некритической ошибки, критическая ошибка появляется при возникновении проблемы, которая препятствует выполнению узла. Например, критическая ошибка может возникнуть при удалении файла CSV сторонней программой, если в этот момент PolyAnalyst осуществляет импорт этого файла. В случае возникновения критических ошибок PolyAnalyst будет показывать большой красный символ X над иконкой узла на скрипте. Кроме этого, задача в списке задач, соответствующая узлу, в котором произошла ошибка, покажет сообщение об ошибке.
Настройка поведения PolyAnalyst в случае ошибки выполнения при одновременном запуске нескольких независимых узлов
Вы можете настроить то, как PolyAnalyst будет реагировать на ошибки при выполнении нескольких узлов на скрипте, на котором два или более узлов выполняются независимо друг от друга. Например, в ходе импорта данных внезапно возникает ошибка, и импорт становится невозможным (например, внешние данные были удалены или изменены прямо во время выполнения операции импорта). PolyAnalyst может прекратить выполнение всех узлов в текущем открытом проекте, либо продолжить выполнение тех узлов, которые несмотря на ошибку, могут быть выполнены.
Чтобы настроить PolyAnalyst на прекращение выполнения всех узлов, когда в одном из узлов возникает ошибка:
-
В меню выберите Настройки проекта….
-
Перейдите в раздел Выполнение
-
Поставьте галочку напротив опции Остановить при ошибке
-
Нажмите ОК или Применить.