Только что вышло очередное обновление EAP 11 для плагина под названием Big Data Tools, доступного для установки в IntelliJ IDEA Ultimate, PyCharm, and DataGrip. Можно установить его через страницу плагина на сайте или внутри IDE.


Big Data Tools — это плагин, позволяющий соединяться с кластерами Hadoop и Spark. Он предоставляет мониторинг узлов, приложений и отдельных задач. Кроме того, в IDEA и DataGrip можно создавать, запускать и редактировать ноутбуки Zeppelin. Можно не переключаться на веб-интерфейс Zeppelin и спокойно работать, не выходя из любимого IDE. Плагин позволяет удобно перемещаться по коду, делать умное автодополнение, рефакторинги и квик-фиксы прямо внутри ноутбука.



Новый тип конфигурации запуска для spark-submit


Одно из важнейших улучшений в этом релизе — возможность запускать Spark-приложения из IDE, без необходимости набирать команды в консоли. Эта функциональность доступна для всех поддерживаемых IDE, включая PyCharm. Напоминаю, скрипт spark-submit лежит в директории bin дистрибутива Spark и используется для запуска приложений на кластере. Он использует все поддерживаемые типы кластеров через единый интерфейс: благодаря этому не нужно несколько раз по-разному перенастраивать своё приложение. Удобно.


Большая проблема пользователей spark-submit в том, что его использование сопряжено с рядом ритуальных рутинных действий. Нужно вручную собрать все артефакты, скопировать их на целевой сервер по SSH, запустить spark-submit с кучей параметров. Обычно всё это заканчивается написанием пачки bash-скриптов на все случаи жизни, которые ты теперь обязан поддерживать. В целом, эта рутина крадет время разработчиков, которое можно было бы потратить на что-то более полезное.


С плагином Big Data Tools этот кошмар можно если не прекратить, но значительно облегчить. Теперь вам достаточно создать новую run configuration, вписать в неё параметры spark-submit, параметры SSH, прописать артефакты-зависимости и нажать кнопку запуска. Дальше всё сработает автоматически.



Поддержка Apache Zeppelin в DataGrip


Теперь можно использовать интеграцию с Zeppelin внутри DataGrip. Для пользователей DataGrip это означает, что наконец-то можно нормально визуализировать данные. Кроме того, писать код на SQL куда легче с новым умным автодополнением прямо внутри интерактивного блокнота.


Надо понимать, что языковая поддержка сейчас ограничена только SQL. Например, Matplotlib или анализ кода на Scala в DataGrip у вас не заработают.


Изменения


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


Новая функциональность


  • Поддержка Spark-submit для IntelliJ IDEA, DataGrip и PyCharm (BDIDE-843).
  • Поддержка Apache Zeppelin для DataGrip (BDIDE-1045).
  • Редактируемые заголовки параграфов в Zeppelin (BDIDE-906).
  • Расширенная фильтрация результатов поиска в Spark Monitoring (BDIDE-1159).
  • Псевдографические таблицы в текстовом ответе Zeppelin отображаются как полноценные таблицы (BDIDE-1172).

Улучшения в интерфейсе


  • Zeppelin: Функции экспорта теперь умеют запоминать путь, по которому в прошлый раз происходило сохранение (графики, таблицы и HTML в ответах Zeppelin) (BDIDE-1132).

Список исправленных багов


  • Zeppelin: Исправлено – IntelliJ IDEA 2020.1 могла падать при просмотре ответа Zeppelin, содержащего встроенные изображения (BDIDE-1184).
  • Zeppelin: Исправлено – Нельзя было подключиться к серверу, если эндпоинт /api/version требовал серверной аутентификации (BRIDE-1199).
  • Zeppelin: Исправлено – Попытка остановить выполняющийся параграф останавливала вообще все параграфы в ноутбуке (BDIDE-1171).
  • Zeppelin: Исправлено – Нумерация параграфов в окне Structure не совпадала с нумерацией внутри Zeppelin (BDIDE-1135).
  • Zeppelin: Fixed – IDEA пыталась загружать исходники заново, при каждом новом запуске (BDIDE-1208).
  • Zeppelin: Исправлено – Кнопка "Open in browser" для локальных ноутов была не нужна (BDIDE-1142).
  • Zeppelin: Исправлено – Результаты выполнения могли стираться при перезапуске интерпретатора (BDIDE-1129).
  • Spark Monitoring: Исправлено – Неправильный анализ JSON, в котором хранятся данные для списка Storages, приводил к очистке списка (BDIDE-1162).
  • Remote FS: Исправлено – Копирование директорий внутри инстанса Azure иногда приводило к созданию пустых директорий (BDIDE-1141).
  • Remote FS: Исправлено – Файлы с неизвестным содержимым стоит открывать как текстовые файлы (BDIDE-1192).
  • Remote FS: Исправлено – Исключение возникало при попытке открывать файлы без расширения (BDIDE-1202).
  • General: Исправлено – Проблемы при попытке копирования и вставки между различными проектами (BDIDE-1195).
  • HTTP Proxy: Исправлено – Ошибка при соединении со Spark или Hadoop через SOCKS proxy с авторизацией (BDIDE-1209).
  • HTTP Proxy: Исправлено – Проблема с параметрами авторизации для SCOKS proxy (BDIDE-1215).
  • HTTP Proxy: Исправлено – Частные настройки прокси не должны перекрывать общие настройки для нового соединения (BDIDE-1216).

Документация и социальные сети


Ну и наконец, если вам нужно разобраться функциональностью Big Data Tools, у нас есть подробная документация. Если хочется задать вопрос, можно сделать это прямо в комментариях на Хабре или перейти в наш Twitter.


Надеемся, что все эти улучшения окажутся полезными, позволят вам делать более интересыне вещи, и более приятным способом.


Команда Big Data Tools