The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Netflix открыл код интерактивной среды вычислений Polynote

25.10.2019 11:24

Компания Netflix представила новую интерактивную среду вычислений Polynote, предназначенную для сопровождения процесса научных исследований, обработки и визуализации данных (позволяет сочетать код с научными выкладками и материалами для публикации). Код Polynote написан на языке Scala и распространяется под лицензией Apache 2.0.

Документы в Polynote представляют собой упорядоченный набор ячеек, которые могут содержать код или текст. Каждая ячейка редактируется и исполняется по отдельности. Допускается перегруппировка, удаление и добавление ячеек, но при этом состояние данных для каждой ячейки зависит от вычислений в прошлых ячейках (выполнение сверху-вниз). Подобный подход гарантирует повторяемость определённых в документе вычислений (повторное выполнение документа на любых системах приведёт к тому же результату). Информация о зависимостях и конфигурация сохраняются непосредственно в документе, а не в отдельных файлах.

В отличие от похожих проектов Jupyter и Zeppelin, новая среда позволяет смешивать в одном документе код на нескольких языках программирования, обеспечивая совместный доступ к данным из кода на нескольких языках (определяется общая схема данных). Например, в одном документе можно совмещать код на языке Scala с применением популярных библиотеки машинного обучения и визуализации для языка Python. На текущем этапе развития реализована поддержка языков Scala, Python, SQL и Vega.

Из других особенностей Polynote выделяются расширенные средства для редактирования кода и текста, близкие к возможностям интегрированных сред разработки и текстовых процессоров. При редактировании кода поддерживается автодополнение, подсветка мест возникновения ошибок, вывод подсказок для параметров функций и методов. В планах возможность перехода на определения переменных/функций из мест их вызова (jump-to-definition).

Что касается подготовки документации и отчётов, процесс редактирования теста осуществляется в режиме WYSIWYG, позволяющем сразу наблюдать конечный отформатированный результат. При этом для определения формул предусмотрена возможность вставки выражений в формате LaTeX.

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

Обрабатываемые данные отображаются в наглядном виде с разбивкой по типам или в табличном представлении. Поддерживается интеграция с Apache Spark для просмотра, анализа и визуализации больших объёмов данных. Для упрощения визуализации предлагается встроенных редактор графиков и диаграмм. В качестве опции предусмотрена возможность применения для визуализации Vega и Matplotlib.



  1. Главная ссылка к новости (https://medium.com/netflix-tec...)
  2. OpenNews: Релиз IPython 5.0
  3. OpenNews: Релиз языка программирования Scala 2.8.0
  4. OpenNews: Евросоюз выплатит 2.3 миллиона евро на развитие языка программирования Scala
  5. OpenNews: В Google провели сравнение производительности C++, Java, Go и Scala
Лицензия: CC-BY
Тип: Программы
Ключевые слова: polynote, scala, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:19, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Интересно, выложили потому, что Netflix прекратил использовать Scala во внутренней разработке и теперь некому поддерживать?.....
     
     
  • 2.2, Аноним (2), 12:58, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Кругом заговор.
     
     
  • 3.5, Аноним (5), 14:22, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там, кстати, интересный график коммитов. Не ровные, а пиками. Начали весной. Сейчас заканчивается третий всплеск. Вполне возможно, что какой-то студенческий/стажерский проект. Практической пользы нет, но потренировались.
     
     
  • 4.9, Аноним (9), 15:11, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А еще там большинство коммитов в четверг? И никаких коммитов по пятницам, мистика.
     
  • 4.15, Чё (?), 17:34, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Тебе этот проект насильно в глотку забивают? Сами ни с кем никогда ничем не делились но других огадить готовы всегда🤣
     
  • 2.7, имя (ok), 14:53, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    «Сысоев выложил nginx потому, что Рамблер прекратил использовать его в своей инфраструктуре и его некому поддерживать.»
     
     
  • 3.8, Аноним (9), 15:08, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В 2004 году? В том же году когда рамблер первый раз его заюзал в продакшене?
     
     
  • 4.16, Аноним (16), 17:41, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > В 2004 году? В том же году

    протрите монитор тряпочкой - там тег SARCASM мигает и переливается

     
  • 2.26, Аноним (26), 23:56, 28/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А есть ли ссылка подтверждающая слова о том, что Netflix прекратил использовать scala для разработки?  
     

  • 1.3, Аноним (3), 13:05, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хорошо. Можно будет не накручивать поверх Jupyter интеграции со Spark.

    Интересно, как оно в сравнении с Zeppelin?..

     
  • 1.4, Аноним (4), 14:07, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещё Beaker Notebook в этой категории.
    В нём как раз можно миксовать разные языки
     
     
  • 2.6, Аноним (5), 14:24, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Julia поддерживает?
     
     
  • 3.13, Аноним (13), 16:41, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    именно
     
  • 2.12, Аноним (12), 16:20, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    В блокнотах на джаве смысла нет никакого. Блокноты - средство быстрого прототипирования. Джава - это язык для деплоя, для прототипирования он не подходит. Нужен быстрый питон? Берёте pypy или graalpython.
     
     
  • 3.18, Аноним (5), 19:03, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >  Нужен быстрый питон? Берёте pypy или graalpython.

    Зачем нам питон? Нам, сайнсерам, нужен блокнот и Julia

     
     
  • 4.23, Рон (?), 07:00, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Нам, сайнсерам

    Может сайентологам?

     
  • 3.27, qsdg (ok), 01:46, 29/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Kotlin почти как Python, иногда не отличить, хотя это полная Java, только синтакс другой. Вполне удобен для прототипирования.
     

  • 1.10, вейланд (?), 15:58, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это такой mathcad на стероидах?
     
  • 1.11, Аноним (12), 16:17, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >Unfortunately, the disconnect between these two models means that a typical notebook environment, which uses a REPL session to evaluate cell code, causes hidden state to accrue as users interact with the notebook. Cells can be executed in any order, mutating this global hidden state that in turn affects the execution of other cells.

    Это не баг, это фича. Блокноты - среда для прототипирования. Когда речь заходит о воспроизводимости, код перемещают в классы, обвязывают архитектурой, причёсывают и готовят к деплою.

     
     
  • 2.14, Аноним (13), 16:53, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя комплекс какой-то или просто каша в голове? Блокноты - удобный инструмент, почему его нельзя использовать? Использование блокнотов не влияет на воспроизводимость. Код в сервисах - отдельная история, никто в здравом уме через блокнот не будет продакшн сервис на flask запускать.
     
     
  • 3.19, RomanCh (ok), 21:02, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  никто в здравом уме через блокнот не будет продакшн сервис на flask запускать.

    Это вы сейчас так говорите. В каком-нибудь 2000ном году большинство также сказали бы про возможность писать резидентные сервера на JavaScript.

    А ещё, вокруг инфраструктуры Hadoop уже понакручено чего-то подобного. Раз-раз, накидал контролов на листок, соединил их стрелочками, и понеслась в самом настоящем продакшне.

     

  • 1.17, Аноним (17), 18:53, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Клиент это java-апплет, как я понимаю? Вижу .ipynb, ipywidgets работают? И вообще html?
     
  • 1.20, psv (??), 22:19, 25/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто то переписал полимод + org.mode.babel емакса?
     
  • 1.21, Аноним (-), 00:18, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интерфейс на Qt или GTK?
     
     
  • 2.24, annual slayer (?), 07:22, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    на tcl tk
     

  • 1.22, Аноним (22), 00:44, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Попробовал. Пока что впечатление не дописанной поделки. Посмотрим через годик.
     
     
  • 2.25, Аноним (25), 12:08, 28/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Все ждали другой фразы типа "Через годик допишу, всё будет лучше, вот посмотрите!"
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру