В постоянно расширяющемся мире наук о данных потребность в мощных инструментах для совместной работы как никогда актуальна. За последние 5 лет Dataiku стала лидером на рынке оркестровки Data Science и является (по нашему мнению) абсолютным лидером по включению технических и нетехнических ролей в совместные проекты. Для технических пользователей Dataiku предоставляет возможности блокнотов Jupyter из коробки для разработки кода Python, но для тех, кому требуется больше гибкости, также можно напрямую интегрироваться с PyCharm IDE и выполнять отладку на своем рабочем столе.

В этом посте мы рассмотрим настройку и настройку PyCharm и узла Dataiku DSS Design, а также модификацию кода и выполнение сеанса отладки.

Примечание. Интеграция Dataiku с PyCharm будет невозможна, если вы используете бесплатную (для сообщества) версию Dataiku, которая не поддерживает интеграцию API.

Проект DSS

В проекте Dataiku, который я буду демонстрировать, есть один рецепт Python, к которому мы хотели бы подключиться с помощью PyCharm и отладить в интерактивном режиме. Однако я хотел бы отметить, что благодаря этой интеграции мы также можем редактировать плагины DSS, рецепты SQL и рецепты R с помощью PyCharm.

Установить расширение

Предполагая, что у вас уже установлен PyCharm (версия Community Edition отлично подойдет для этого руководства), первым шагом, необходимым для интеграции Dataiku, является установка подключаемого модуля Dataiku из магазина. Просто найдите «dataiku», а затем нажмите «Установить» в результатах плагина Dataiku DSS.

Установив расширение, вы захотите настроить его для интеграции с экземпляром Dataiku Design Node. Для этого откройте панель настроек, как показано на следующем снимке экрана, и перейдите на вкладку «Настройки Dataiku DSS». На этом экране нажмите «+», чтобы добавить новый экземпляр DSS.

«Базовый URL-адрес» — это просто URL-адрес http (s) узла Dataiku Design, к которому вы хотите подключиться, а для тех, кто не знаком, ключ API — это «секретное» значение, которое можно найти на вкладке «Ключи API» в вашем Dataiku. Профиль пользователя.

Все дело в окружающей среде

Если вы много занимались разработкой на Python, вы, вероятно, знакомы с виртуальными средами кодирования. В Dataiku мы можем создавать собственные среды кода для наших плагинов и скриптов, используя вкладку Среда кода в административной панели. Когда мы интегрируемся с экземпляром DSS Design Node из PyCharm, мы хотим создать (по крайней мере) один проект PyCharm для каждой среды кода DSS, чтобы запускать наш код локально.

Установив подключаемый модуль DSS, мы создадим новый проект в PyCharm, который будет соответствовать одной из сред кода в вашем экземпляре DSS. Например, в моем случае у меня есть среда Python 3.6 без установленных пользовательских пакетов PIP. Чтобы воссоздать эту среду локально, я собираюсь запустить новый проект PyCharm и выбрать опцию «Новая виртуальная среда с использованием Virtualenv», используя ту же версию Python, которую я использую в DSS. Например, если вы используете Python 2.7 в своей среде DSS, вам нужно выбрать путь к локальной установке Python 2.7.

Создайте файл требований PIP

Теперь, когда мы создали проект PyCharm с новой виртуальной средой, следующим шагом будет создание файла требований, в котором будут определены пакеты PIP, необходимые для отладки наших файлов.

В своем проекте создайте новый текстовый файл с помощью меню File=›New=›File. В этот файл мы поместим пару основных пакетов, необходимых для этой интеграции, а также все пакеты PIP, используемые в среде кода DSS, которая используется вашим удаленным скриптом. Назовите этот новый файл requirements.txt

Ниже перечислены пакеты, необходимые для запуска любой локальной среды. Опять же, вы также захотите добавить любые дополнительные пакеты PIP, используемые вашим рецептом Python. Добавьте эти строки в свой файл requirements.txt.

dataiku-api-client
pandas
numpy==1.19.3 # for windows, MUST be 1.19.3 until bug fix in 1.19

Создав этот файл, мы готовы открыть файл из нашего удаленного экземпляра DSS в PyCharm.

Открытие рецепта Python из DSS

С установленным плагином DSS извлечение файлов Python из вашего потока Dataiku интегрируется прямо в меню PyCharm. Перейдите к File=>Open Dataiku DSS, и, если ваш плагин был настроен правильно, вы должны увидеть окна, похожие на скриншоты ниже, которые позволяют вам перемещаться по рецептам вашего проекта DSS и выбирать скрипт Python.

Когда вы выбираете файл, обязательно оставьте флажок «Создать конфигурацию времени выполнения» установленным, а также нажмите кнопку «Установить», как показано на снимке экрана выше, которая установит необходимые пакеты Dataiku API PIP в ваш локальный виртуальный Окружающая обстановка.

После этого нажмите «Готово», и ваш удаленный файл Python должен быть открыт в PyCharm!

Отладка в PyCharm

Теперь, когда ваша виртуальная среда настроена локально и удаленный файл открыт, вы заметите, что PyCharm предлагает установить отсутствующее требование, которое мы определили в файле requirements.txt. Нажмите «Установить требование», чтобы добавить эти пакеты в локальную среду.

Прежде чем мы перейдем к следующему шагу, я укажу на ключевую часть головоломки в интеграции PyCharm. Если вы перейдете в меню Выполнить => Редактировать конфигурации, вы увидите конфигурацию отладки, созданную плагином Dataiku. В этой конфигурации переменные среды были заполнены ключом DKU_CURRENT_PROJECT_KEY, установленным на имя выбранного вами проекта Dataiku. Это очень удобная функция, которая делает работу немного проще, чем интеграция Visual Studio Code, но имейте в виду, что эта конфигурация отладки специфична для этого проекта DSS.

Начать отладку

Открыв файл Python, добавьте точку останова где-нибудь в коде и щелкните пункт меню «Выполнить» => «Начать отладку». Это запустит сеанс отладки, который будет иметь полный доступ к вашим наборам данных DSS и, если он настроен правильно, будет работать в полностью интерактивном сеансе отладки, позволяя вам извлекать данные из вашего экземпляра DSS!

Модификации файлов

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

Чтобы настроить эту интеграцию, вернемся к панели настроек DSS в PyCharm. На этой панели вы увидите параметр «Автоматическая синхронизация», который определяет, будут ли изменения, внесенные вами в файлы в PyCharm, немедленно отправляться на сервер DSS или потребуется ручная синхронизация. Если вы предпочитаете отправлять изменения файла в узел «Дизайн» вручную, снимите флажок «Автоматическая синхронизация».

После проверки настроек синхронизации вы сможете изменить локальную версию удаленного файла Python. Если вы выбрали синхронизацию вручную, вы можете отправить свои изменения на сервер, выбрав пункт меню Файл=>Синхронизировать с DSS.

Резюме

В этом посте мы рассмотрели настройку и настройку PyCharm и узла Dataiku DSS Design для выполнения сеанса отладки и редактирования кода Python, расширяя мощные возможности DSS на настольные компьютеры. Для альтернативного опыта отладки IDE ознакомьтесь с этой статьей о настройке интеграции кода Visual Studio с Dataiku.