JetBrains Big Data Tools EAP (Early Access Program) 12 - очередное обновление плагина
JetBrains Big Data Tools EAP (Early Access Program) 12 - очередное обновление плагина
Вышло очередное обновление EAP 12 для плагина под названием Big Data Tools, доступного для установки в IntelliJ IDEA Ultimate, PyCharm Professional и DataGrip. Можно установить его через страницу плагина или внутри IDE. Плагин позволяет работать с Zeppelin, загружать файлы в облачные хранилища и проводить мониторинг кластеров Hadoop и Spark.
В этом релизе JetBrains добавили экспериментальную поддержку Python и поиск по ноутбукам Zeppelin. Если вы страдали от каких-то багов, их тоже починено множество.
Экспериментальная поддержка Python в Zeppelin
Поддержку Python хотелось добавить давно. Несмотря на то, что PySpark в Zeppelin сейчас на волне хайпа, все что предоставляет нам веб-интерфейс Zeppelin — простейшее автодополнение, в котором содержится какой-то наполовину случайный набор переменных и функций. Вряд ли это можно ставить в вину Zeppelin, он никогда не обещал нам умного анализа кода. В IDE хочется видеть что-то намного большее.
Добавить целый новый язык — звучит как очень сложная задача. К счастью, в наших IDE уже есть отличная поддержка Python: либо в PyCharm, либо в Python-плагине для IntelliJ IDEA. нужно было взять эту готовую функциональность и интегрировать внутрь Zeppelin. Вместе с этим возникает много нюансов, специфичных для Zeppelin: как проанализировать список зависимостей, как найти правильную версию Python и тому подобное.
Начиная с EAP 12, код на Python нормально подсвечивается в нашем редакторе ноутбуков Zeppelin, отображаются грубые синтаксические ошибки. Можно перейти на определение переменной или функции, если они объявлены внутри ноутбука. Можно сделать привычные рефакторинги вроде rename или change signature. Работают Zeppelin-специфичные таблицы и графики — в конце концов, зачастую ради них люди и используют Zeppelin.
Иногда в одном и том же ноутбуке вам хочется одновременно использовать и Python, и Scala. Например, это бывает полезно из соображений производительности в вычислительных задачах.
Смешивать разные языки вполне возможно. Но не забывайте, что для полноценной поддержки Scala вам понадобится IntelliJ IDEA с плагинами Scala и Python. В PyCharm этот Scala-код хоть и будет выполняться, но его поддержка в редакторе останется на уровне plain text.
Поиск по ноутбукам Zeppelin
У JetBrains всегда была возможность найти, в каком же файле на диске находится нужный текст (например, с помощью Find in Path, Ctrl+Shift+F). Но этот стандартный интерфейс поиска не работает с ноутбуками, ведь они — не файлы!
Начиная с EAP 12, JetBrains добавили отдельную панель поиска по ноутбукам. Откройте панель Big Data Tools, выделите какое-нибудь из подключений к Zeppelin и нажмите на кнопку с изображением лупы (или используйте сочетание клавиш Ctrl+F на клавиатуре). В результате вы попадете в окно под названием «Find in Zeppelin Connections». Активация одного из результатов поиска приведет к открытию этого ноутбука и переходу на нужный параграф.
Плагин Big Data Tools активно развивается, и при бурном росте неизбежны некоторые проблемы. В этом релизе JetBrains провели много работы над правильной работой с удаленными хранилищами, отображением графиков и параграфов, переработали часть интерефейсов (например, SSH-туннели). Переработаны кое-какие системные вещи (например, несколько проектов теперь используют общее подключение к Zeppelin), ряд ошибок в неожиданных местах. В целом, теперь пользоваться плагином намного приятней.
Если вам интересен обзор основных улучшений, то их можно найти в разделе «What’s New» на странице плагина
Если вам нужно разобраться с функциональностью Big Data Tools, у JetBrains есть подробная документация в вариантах для IntelliJ IDEA и PyCharm