Общий обзор

Открытый веб-блокнот для интерактивной аналитики данных

Apache Zeppelin – это новый многофункциональный веб-блокнот, обеспечивающий считывание, анализ и визуализацию данных, их обмен и взаимодействие с Hadoop и Spark (Рис.2.).

../_images/zeppelin_overview_dashboard.png

Рис. 2. Apache Zeppelin

Интерактивные браузерные блокноты позволяют инженерам данных, аналитикам и ученым в области данных более продуктивно выполнять работу, благодаря совместному использованию кода данных, его разработке, организации и выполнению, а также благодаря визуализации результатов без необходимости обращения к командной строке или к компонентам кластера. Блокноты обеспечивают пользователям не только выполнение задач, но и интерактивную работу с долго выполняющимися потоками операций.

Apache Zeppelin – это новый веб-блокнот, который предоставляет функции поиска, визуализации, совместного использования и функциональное взаимодействие с Apache Spark. В него встроена интеграция со Spark, что избавляет от необходимости создания отдельного модуля, плагина или библиотеки, и это дает следующие преимущества:

  • Автоматическое создание SparkContext и sqlcontext;
  • Загрузка jar-зависимостей из локальной файловой системы или репозитория maven во время выполнения задачи;
  • Возможность отмены задания и отображение хода его выполнения.

Apache Zeppelin поддерживает Python, но при этом концепция интерпретатора блокнота позволяет подключать любой язык/фрейворк обработки данных в Zeppelin. В настоящее время Zeppelin поддерживает множество интерпретаторов, например, такие как Scala, Hive, SparkSQL, Shell и Markdown (Рис.3.).

../_images/zeppelin_overview_interpreters.png

Рис. 3. Интерпретаторы

Некоторые базовые диаграммы уже включены в Apache Zeppelin, но визуализация не ограничивается запросом Spark SQL и любой результат с любого языка может быть распознан и визуализирован (Рис.4.).

../_images/zeppelin_overview_charts.png

Рис. 4. Визуализация данных

Apache Zeppelin агрегирует значения и отображает их в сводной диаграмме с простым перемещением drag-and-drop. Можно легко создать диаграмму с несколькими агрегированными значениями, в том числе: сумма, количество, среднее, минимальное, максимальное (Рис.5.).

../_images/zeppelin_overview_pivot-chart.png

Рис. 5. Сводная диаграмма

Также Apache Zeppelin может динамически создавать некоторые формы ввода в блокноте пользователя (Рис.6.).

../_images/zeppelin_overview_input-form.png

Рис. 6. Формы ввода в блокноте

Поиск данных, их анализ, отчетность и визуализация являются ключевыми компонентами рабочего процесса в области данных. Zeppelin предоставляет “Modern Data Science Studio” (“Современную научную студию данных”), которая поддерживает Spark и Hive из коробки. Фактически Zeppelin поддерживает несколько языков, которые в свою очередь имеют поддержку растущей экосистемы источников данных. Блокноты Zeppelin позволяют ученым в области данных в реальном времени создавать и выполнять небольшие фрагменты кода.

URL-адресом блокнота можно поделиться между сотрудниками. В таком случае Apache Zeppelin транслирует любые изменения в реальном времени точно так же, как при работе в Google docs. Но данный URL-адрес отображает только результат, страница не содержит никаких меню и кнопок для редактирования. Кроме того, при завершении работы с блокнотом можно создать отчет и при необходимости распечатать его или экспортировать (Рис.7.).

../_images/zeppelin_overview_report.png

Рис. 7. Отчет о работе в Apache Zeppelin

В Arenadata мы считаем, что Spark и Hadoop идеально сочетаются. И что Zeppelin является ключевым компонентом для ускорения решений в области науки о данных.