apache zeppelin что это

Apache Zeppelin

Web-based notebook that enables data-driven,
interactive data analytics and collaborative documents with SQL, Scala, Python, R and more.

Technologies

See more details in Zeppelin supports 20+ different interpreters. LEARN MORE

Deployments

What’s new in

Zeppelin SDK

Not only you can use Zeppelin as interactive notebook, you can also use it as JobServer via Zeppelin SDK (client api & session api)

Spark Interpreter Improved

Spark interpreter provides comparable Python & R user experience like Jupyter Notebook. For the details, click here.

Flink Interpreter Improved

Flink interpreter is refactored, supports Scala, Python & SQL. Flink 1.10 and afterwards (Scala 2.11 & 2.12) are all supported.
For the details, click here.

Yarn Interpreter Mode

You can run interpreter in yarn cluster, e.g. you can run Python interpreter in yarn and R interpreter in yarn.

Inline Configuration

Generic ConfInterpreter provide a way configure interpreter inside each note.

Interpreter Lifecycle Management

Interpreter lifecycle manager automatically terminate interpreter process on idle timeout. So resources are released when they’re not in use. See here for more details.

See more details in 0.10 Release Note

Multi-purpose Notebook

The Notebook is the place for all your needs

apache zeppelin что это

Multiple Language Backend

Apache Zeppelin interpreter concept allows any language/data-processing-backend to be plugged into Zeppelin. Currently Apache Zeppelin supports many interpreters such as Apache Spark, Apache Flink, Python, R, JDBC, Markdown and Shell.

apache zeppelin что это

Adding new language-backend is really simple. Learn how to create a new interpreter.

Apache Spark integration

Especially, Apache Zeppelin provides built-in Apache Spark integration. You don’t need to build a separate module, plugin or library for it.

Apache Zeppelin with Spark integration provides

For the further information about Apache Spark in Apache Zeppelin, please see Spark interpreter for Apache Zeppelin.

Data visualization

Some basic charts are already included in Apache Zeppelin. Visualizations are not limited to SparkSQL query, any output from any language backend can be recognized and visualized.

apache zeppelin что это

apache zeppelin что это

Pivot chart

Apache Zeppelin aggregates values and displays them in pivot chart with simple drag and drop. You can easily create chart with multiple aggregated values including sum, count, average, min, max.

apache zeppelin что это

Dynamic forms

Apache Zeppelin can dynamically create some input forms in your notebook.

apache zeppelin что это

Collaborate by sharing your Notebook & Paragraph

Your notebook URL can be shared among collaborators. Then Apache Zeppelin will broadcast any changes in realtime, just like the collaboration in Google docs.

apache zeppelin что это

Apache Zeppelin provides an URL to display the result only, that page does not include any menus and buttons inside of notebooks. You can easily embed it as an iframe inside of your website in this way. If you want to learn more about this feature, please visit this page.

100% Opensource

Apache Zeppelin is Apache2 Licensed software. Please check out the source repository and how to contribute. Apache Zeppelin has a very active development community. Join to our Mailing list and report issues on Jira Issue tracker.

Источник

Общий обзор¶

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

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

apache zeppelin что это

Рис. 2. Apache Zeppelin

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

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

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

apache zeppelin что это

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

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

apache zeppelin что это

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

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

apache zeppelin что это

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

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

apache zeppelin что это

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

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

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

apache zeppelin что это

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

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

Источник

Apache Zeppelin

Web-based notebook that enables data-driven,
interactive data analytics and collaborative documents with SQL, Scala, Python, R and more.

Technologies

See more details in Zeppelin supports 20+ different interpreters. LEARN MORE

Deployments

What’s new in

Zeppelin SDK

Not only you can use Zeppelin as interactive notebook, you can also use it as JobServer via Zeppelin SDK (client api & session api)

Spark Interpreter Improved

Spark interpreter provides comparable Python & R user experience like Jupyter Notebook. For the details, click here.

Flink Interpreter Improved

Flink interpreter is refactored, supports Scala, Python & SQL. Flink 1.10 and afterwards (Scala 2.11 & 2.12) are all supported.
For the details, click here.

Yarn Interpreter Mode

You can run interpreter in yarn cluster, e.g. you can run Python interpreter in yarn and R interpreter in yarn.

Inline Configuration

Generic ConfInterpreter provide a way configure interpreter inside each note.

Interpreter Lifecycle Management

Interpreter lifecycle manager automatically terminate interpreter process on idle timeout. So resources are released when they’re not in use. See here for more details.

See more details in 0.10 Release Note

Multi-purpose Notebook

The Notebook is the place for all your needs

apache zeppelin что это

Multiple Language Backend

Apache Zeppelin interpreter concept allows any language/data-processing-backend to be plugged into Zeppelin. Currently Apache Zeppelin supports many interpreters such as Apache Spark, Apache Flink, Python, R, JDBC, Markdown and Shell.

apache zeppelin что это

Adding new language-backend is really simple. Learn how to create a new interpreter.

Apache Spark integration

Especially, Apache Zeppelin provides built-in Apache Spark integration. You don’t need to build a separate module, plugin or library for it.

Apache Zeppelin with Spark integration provides

For the further information about Apache Spark in Apache Zeppelin, please see Spark interpreter for Apache Zeppelin.

Data visualization

Some basic charts are already included in Apache Zeppelin. Visualizations are not limited to SparkSQL query, any output from any language backend can be recognized and visualized.

apache zeppelin что это

apache zeppelin что это

Pivot chart

Apache Zeppelin aggregates values and displays them in pivot chart with simple drag and drop. You can easily create chart with multiple aggregated values including sum, count, average, min, max.

apache zeppelin что это

Dynamic forms

Apache Zeppelin can dynamically create some input forms in your notebook.

apache zeppelin что это

Collaborate by sharing your Notebook & Paragraph

Your notebook URL can be shared among collaborators. Then Apache Zeppelin will broadcast any changes in realtime, just like the collaboration in Google docs.

apache zeppelin что это

Apache Zeppelin provides an URL to display the result only, that page does not include any menus and buttons inside of notebooks. You can easily embed it as an iframe inside of your website in this way. If you want to learn more about this feature, please visit this page.

100% Opensource

Apache Zeppelin is Apache2 Licensed software. Please check out the source repository and how to contribute. Apache Zeppelin has a very active development community. Join to our Mailing list and report issues on Jira Issue tracker.

Источник

Настраиваем связку Apache Zeppelin + Oracle

Давно ищу удобный инструмент для выполнения ad hoc SQL-запросов в БД Oracle, с возможностью быстрого построения различных типов графиков на полученных данных. Все, что может облегчить оперативное создание отчетов, как говорится «на лету». Совсем недавно наткнулся на вот такой инструмент как Apache Zeppelin. Короткий обзор возможностей в документации на сайте и демо-видео показал, что это штука достаточно интересная и имеет смысл более плотно исследовать ее и настроить доступ из Apache Zeppelin к СУБД Oracle.

apache zeppelin что это

Вводная часть

Взрывной рост индустрии Big Data, Machine Learing потребовал новых инструментов и подходов для работы с большими массивами данных. Появились такие экосистемы и программные продукты Big Data как Hadoop, Spark, Storm, Elasticsearch и др… Десятки различных фрэймворков для машинного обучения с предустановленными алгоритмами. Ведущие университеты мира создают множество бесплатных курсов по машинному обучению и работе с Big Data.

Появились также и инструменты, которые решают задачи по визуализации данных. Хотел бы выделить два инструмента: это экосистема языка программирования R, созданная для статистической обработки данных и работы с графикой. И Weka – набор средств визуализации и алгоритмов для интеллектуального анализа данных и решения задач прогнозирования. Кстати, разработки обоих инструментов/языков программирования стартовали в 1993 году и оба из Новой Зеландии :). Ну и конечно, это множество других средств визуализации, которые практически каждая команда, предлагающая уже конечный продукт, делает сама под себя с использованием популярных фрэймворков для визуализации данных: D3.js, JfreeChart, HighCharts.js и другие.

Отдельно хотелось бы выделить направление интерактивных оболочек для работы с большими данным и машинного обучения. Самый известный и популярный инструмент — это продукт Python-сообщества – IPython. Судя по количеству упоминаний (сам я с ним плотно не работал), является стандартом де-факто в среде специалистов по машинному обучению. С 2014 создатель IPython начал новый проект Jupyter Notebook, цель которого создать полностью независимый от языка программирования интерактивный shell. Также, в этом направлении активно работают компании DataBricks, Beaker, которые развивают направление интерактивных shell инструментов для Data Scientist с упором на облака. Кроме Jupyter Notebook, есть и другие аналогичные инструменты, например Spark Notebook.

Итак, Apache Zeppelin – это один из представителей направления интерактивных оболочек для работы с Big Data и машинного обучения.

Работа над созданием Zeppelin была начата в недрах южнокорейской софтверной компании NFLabs в 2012-2013 годах (подробнее история создания от разработчика системы здесь).

Изначально цель была создать пользовательский интерфейс для разнообразных систем SQL over Hadoop, таких как Hive, Presto и Shark etc. Потом стало понятно, что существует потребность в создании более мощного инструмента для Data Scientist для совместной работы на больших проектах, не ограниченных только SQL. Поэтому была реализована встроенная интеграция с Apache Spark фрэймворком и возможность совместной работы в Notebook через WEB.

Возможности Apache Zeppelin:

Установка Apache Zeppelin

Системные требования и инструкция по установке Apache Zeppelin доступны на странице проекта на GitHub или на сайте проекта.

В своей работе я использовал Vagrant + ручную компиляцию из исходных кодов. Вы можете выбрать любой из предложенных способов.

Настройка связки Apache Zeppelin + Oracle

Качаем JDBC драйвер от Oracle (например ojdbc7.jar) по ссылке (требуется регистрация на сайте) и выкладываем драйвер по путям CLASSPATH. В случае Apache Zeppelin выкладываем файл драйвера в корневую директорию (/usr/zeppelin). Для Apache Spark – в SPARK_HOME/lib (теоретически загружать jdbc драйвер можно динамически, с использованием Dependency loader, но добиться видимости классов в SparkContext у меня не получилось).

Попытка № 1

Первая попытка получить доступ к Oracle была предпринята из окружения Apache Spark. С версии Spark 1.3 работу с БД рекомендуется вести через Spark SQL data source API. Указываем url доступа к БД, таблицу/набор данных и jdbc драйвер для соединения к БД. Проверить какие поля доступны для выборки, и загрузить набор данных как таблицу в память в окружении SQLContext с помощью процедуры registerTempTable(), после чего можно делать запросы к источнику данных.

apache zeppelin что это

Теперь все готово для выполнения запроса по таблице OBJ

apache zeppelin что это

К сожалению, полноценный доступ к данным Oracle в Apache Spark не работает. При попытке выбрать данные с типом данных NUMBER, получаем следующую ошибку:

apache zeppelin что это

Данная проблема известна и описана в JIRA проекта Apache Spark: Spark sql jdbc fails for Oracle NUMBER type columns

Пока решения нет, соответственно полноценно, напрямую, работать с данными СУБД Oracle в Apache Spark непросто. Как обходное решение, в СУБД Oracle можно создавать представления, в которых делать конвертацию NUMBER to VARCHAR2 и использовать их для работы из Apache Spark. Но это дополнительные сложности с администрированием, выдачей прав etc.

Попытка № 2

Попробуем получить доступ к СУБД Oracle напрямую, не через Spark. Разработчики придумали систему расширений для этих целей — называется Interpreters. Отдельного плагина для БД Oracle еще нет. Но мы попробуем воспользоваться готовым для Postgresql – ведь это JDBC. Делаем необходимые правки в интерфейсе Zeppelin на закладке Interpreters для psql:

apache zeppelin что это

И пробуем выполнить тестовый запрос:

apache zeppelin что это

Попробуем визуализацию данных из истории активных сессий:

apache zeppelin что это

То же, но с использованием динамической формы для изменения диапазона выбираемых данных:

apache zeppelin что это

Можно также попробовать динамически обновляемые в страницы, например статистику твитов аккаунта: Capture Tweets from the Twitter от Gustavo Arjones

Указываем параметры приложения для доступа к своей ленте:

apache zeppelin что это

Сам код, который творит магию:

apache zeppelin что это

Динамически обновляемая статистика твитов из вашей ленты в отдельном окне:

apache zeppelin что это

Возможные варианты использования (дополнительные):

— Генератор отчетов для ad hoc запросов;
— Создание гибко настраиваемых окружений для несложных систем мониторинга и наблюдения за ключевыми показателями ИТ-систем.

Недостатки:

— Пока слабо развито сообщество разработчиков. Количество пишуших код в Apache Zeppelin по сравнению с Jupiter Notebook;
— Набор типов графиков пока маловат, у конкурентов побогаче будет;
— Есть небольшие баги, которых немного, но они не мешают полноценно, без нервотрепки, использовать основной функционал. «It just works».

Apache Zeppelin – интерактивная оболочка для выполнения запросов над Big Data, работы с Machine Learning, последующей визуализации результатов и коллективной разработки.

В связи с ростом объемов данных, новых задач по поиску новых знаний требуют для исследователей удобного инструмента (окружения) для своей работы. Ниша интерактивных оболочек на данный момент одно из перспективных направлений: June 12, 2015, 8 New Big Data Projects To Watch, author: Alex Woodie. Мы наблюдаем интересную тенденцию – это появление гибридных программных комплексов, позволяющих упростить задачи подготовки и анализа больших данных, визуализации и совместной работы для Data Scientist. Удобный интерфейс для визуализации, который предоставляет Apache Zeppelin, также будет полезен администратором и разработчикам БД.

Судя по активности разработчиков по передаче кода в открытый доступ под крыло Apache Foundation в рамках программы Apache Incubator, созданию специализированного портала ZeppelinHub для выкладывания подготовленных Notebook, команда разработчиков планирует активное развитие продукта и выход на более широкую аудиторию.

Источник

Русские Блоги

Обширный учебник Zepplin

2019 Unicorn Enterprise Стандарт набора для тяжелых инженеров Python >>> apache zeppelin что это

1. Что такое Цеппелин?

Apache ZeppelinЭто веб-блокнот (похожий на блокнот jupyter), который поддерживает интерактивный анализ данных.
Zeppelin может достичь того, что вам нужно:

Поддержка нескольких языков, по умолчанию Scala (за оболочкой Spark), SparkSQL, Markdown, SQL, Shell, Markdown и Python и т. Д.

apache zeppelin что это

apache zeppelin что это

Интеграция с Apache Spark

В частности, Apache Zeppelin предоставляет встроенныеApache SparkИнтеграция. Вам не нужно создавать отдельный модуль, плагин или библиотеку для него.

2. Особенности Zeppelin

2.1 Интеграция с Apache Spark

Zeppelin обеспечивает встроенную интеграцию Apache Spark. Вам не нужно создавать модуль, плагин или библиотеку отдельно.
Интеграция Zeppelin Spark обеспечивает:

2.2 Визуализация данных

Некоторые основные диаграммы уже включены в Zeppelin. Визуализация не ограничивается запросами SparkSQL, вывод любого языка в бэкэнде может быть идентифицирован и визуализирован.

apache zeppelin что это

Сводная диаграмма
Apache Zeppelin объединяет значения и отображает их в перспективе простым перетаскиванием. Вы можете легко создать диаграмму с несколькими суммарными значениями, включая сумму, количество, среднее, минимальное и максимальное значения.

apache zeppelin что это

Динамическая форма
Apache Zeppelin может динамически создавать некоторые формы ввода в блокноте.

apache zeppelin что это

Сотрудничайте, делясь своими блокнотами и параграфами
URL-адрес вашей записной книжки может быть распространен среди соавторов. Затем Apache Zeppelin будет воспроизводить любые изменения в режиме реального времени, как и в случае с Google Docs.

apache zeppelin что это

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

apache zeppelin что это

3. Быстрый старт для Zeppelin

3.1 Установка

Просто упакуйте его в каталог по вашему выбору.

### Запустить Apache Zeppelin

Запустите Apache Zeppelin с менеджером сервиса
Apache Zeppelin может использовать сценарий инициализации в качестве службы для автоматического запуска, используя диспетчер служб, такой как upstart. Это сохраненный пример сценария upstart, поскольку /etc/init/zeppelin.conf Это позволяет использовать такие команды, как следующие, для управления службами.

sudo service zeppelin start

sudo service zeppelin stop

sudo service zeppelin restart

Другие менеджеры сервисов могут использовать методы, аналогичные параметрам, передаваемым upstart скрипту zeppelin-daemon.sh.
bin/zeppelin-daemon.sh upstart

zeppelin.conf

start on (local-filesystems and net-device-up IFACE!=lo)

# Respawn the process on unexpected termination

# respawn the job up to 7 times within a 5 second period.

# If the job exceeds these values, it will be stopped and marked as failed.

# zeppelin was installed in /usr/share/zeppelin in this example

exec bin/zeppelin-daemon.sh upstart

3.2 Конфигурация

3.2.1 Zeppelin Properties

Apache Zeppelin можно настроить в двух местах.
(1) Переменные среды могут быть определены в conf / zeppelin-env.sh
(2) Атрибуты Java могут быть определены в conf / zeppelin-site.xml

apache zeppelin что это

apache zeppelin что это

3.3 Изучение пользовательского интерфейса Apache Zeppelin

При первом подключении к Zeppelin вы увидите скриншот ниже на главной странице.

apache zeppelin что это

apache zeppelin что это

При нажатии Import Note При связывании откроется новый диалог. Оттуда вы можете импортировать свои заметки с локального диска или из удаленного места, если вы предоставите URL.

apache zeppelin что это

По умолчанию имя импортированного комментария совпадает с исходным комментарием, но вы можете переопределить его, указав новое имя.

ноутбук

что Notebook Меню предлагает почти те же функции, что и раздел управления заметками на главной странице. Из выпадающего меню вы можете:

Создать новую заметку

apache zeppelin что это

Настроить

Это меню позволяет получить доступ к настройкам и отображать информацию о Zeppelin. anonymous Если используется конфигурация shiro по умолчанию, имя пользователя устанавливается на. Если вы хотите настроить аутентификацию, см.Широ аутентификация。

apache zeppelin что это

Вы можете проверить версию Zeppelin в этом меню.

apache zeppelin что это

В этом меню вы можете:

apache zeppelin что это

Это меню позволяет сохранить учетные данные источника данных, переданного интерпретатору.

apache zeppelin что это

apache zeppelin что это

Макет аннотации

apache zeppelin что это

пункт

Каждый абзац состоит из двух частей: code section Вы кладете исходный код в result section Где вы можете увидеть результаты выполнения кода.

apache zeppelin что это

В правом верхнем углу каждого абзаца есть несколько команд:

Чтобы настроить абзац, просто нажмите значок шестеренки:

apache zeppelin что это

Из этого диалогового окна (в порядке убывания):

Обратите внимание на панель инструментов

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

apache zeppelin что это

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

В середине панели инструментов вы можете найти командную кнопку:

apache zeppelin что это

На правой стороне панели инструментов заметки вы можете найти значок конфигурации:

apache zeppelin что это

3.4 учебник по Apache Zeppelin

Этот учебник проведет вас через некоторые основные концепции Zeppelin. Мы предполагаем, что вы установили Zeppelin. Если нет, пожалуйста, прочитайте сначалаздесь。

Текущий основной механизм обработки ЦеппелинаApache Spark, Если вы новичок в системе, вы можете сначала понять, как обрабатывать данные, чтобы максимально использовать Zeppelin.

3.4.1 Учебник по локальным файлам

Оптимизация данных

Перед запуском учебника по Zeppelin вам необходимо скачатьbank.zip。
Сначала преобразуйте данные в формате csv в RDD Bank Объект, запустите следующий скрипт. Это также будет использовать filter Функция удаляет заголовок.

val bankText = sc.textFile(«yourPath/bank/bank-full.csv»)

case class Bank(age:Integer, job:String, marital : String, education : String, balance : Integer)

// split each line, filter out header (starts with «age»), and map it into Bank case class

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *