Установка Jupyter Notebook на компьютере и ее подключение к Apache Spark в HDInsight
Из этой статьи вы узнаете, как установить Jupyter Notebook с пользовательскими ядрами PySpark (для Python) и Apache Spark (для Scala) с помощью магических команд Spark, а затем подключить эту записную книжку к кластеру HDInsight.
Для установки Jupyter и подключения к Apache Spark в HDInsight необходимо выполнить четыре основных шага.
- Настроить кластер Spark.
- Установить Jupyter Notebook.
- Установите ядра PySpark и Spark с помощью волшебной команды Spark.
- Настройте волшебную команду Spark для доступа к кластеру Spark в HDInsight.
Дополнительные сведения о пользовательских ядрах и магических командах Spark см. в разделе Ядра, доступные для Jupyter Notebook с кластерами Apache Spark Linux в HDInsight.
Предварительные требования
- Кластер Apache Spark в HDInsight. Инструкции см. в статье Начало работы. Создание кластера Apache Spark в HDInsight на платформе Linux и выполнение интерактивных запросов с помощью SQL Spark. Локальная записная книжка подключается к кластеру HDInsight.
- Опыт работы с записными книжками Jupyter с Spark в HDInsight.
Установка Jupyter Notebook на компьютер
Перед установкой Jupyter Notebook необходимо установить Python. Дистрибутив Anaconda установит как Python, так и Jupyter Notebook.
Скачайте установщик Anaconda для своей платформы и запустите программу установки. В мастере установки укажите параметр для добавления Anaconda в переменную PATH. См. также Установка Jupyter с помощью Anaconda.
Установка магических команд Spark
- Введите команду pip install sparkmagic==0.13.1 , чтобы установить магические команды Spark для кластеров HDInsight версии 3.6 и 4.0. См. также документацию по sparkmagic.
- Убедитесь, что мини-приложение ipywidgets установлено правильно. Для этого выполните следующую команду:
jupyter nbextension enable --py --sys-prefix widgetsnbextension
Установка ядер PySpark и Spark
- Определите место установки sparkmagic с помощью следующей команды:
pip show sparkmagic
| Ядро | Get-Help |
|---|---|
| Spark | jupyter-kernelspec install sparkmagic/kernels/sparkkernel |
| SparkR | jupyter-kernelspec install sparkmagic/kernels/sparkrkernel |
| PySpark | jupyter-kernelspec install sparkmagic/kernels/pysparkkernel |
| PySpark3 | jupyter-kernelspec install sparkmagic/kernels/pyspark3kernel |
jupyter serverextension enable --py sparkmagic
Настройка волшебной команды Spark для подключения к кластеру HDInsight Spark
В этом разделе вы настроите подключение магической команды Spark, установленной ранее, к кластеру Apache Spark.
-
Запустите оболочку Python с помощью следующей команды:
python
import os path = os.path.expanduser('~') + "\\.sparkmagic" os.makedirs(path) print(path) exit()
< "kernel_python_credentials" : < "username": "", "base64_password": "", "url": "https://.azurehdinsight.net/livy" >, "kernel_scala_credentials" : < "username": "", "base64_password": "", "url": "https://.azurehdinsight.net/livy" >, "custom_headers" : < "X-Requested-By": "livy" >, "heartbeat_refresh_seconds": 5, "livy_server_heartbeat_timeout_seconds": 60, "heartbeat_retry_seconds": 1 >
| Значение шаблона | Новое значение |
|---|---|
| Имя для входа в кластер, значение по умолчанию — admin . | |
| Имя кластера | |
| Фактический пароль в кодировке Base64. Сгенерировать пароль в кодировке base64 можно здесь: https://www.url-encode-decode.com/base64-encode-decode/. | |
| «livy_server_heartbeat_timeout_seconds»: 60 | При использовании sparkmagic 0.12.7 (кластеры версии 3.5 и 3.6) не заменяйте. При использовании sparkmagic 0.2.3 (кластеры версии 3.4) замените на «should_heartbeat»: true . |
Полный пример файла можно просмотреть в образце config.json.
Совет Сигналы пульса отправляются, чтобы предотвратить утечку сеансов. При переходе в спящий режим или завершении работы компьютера пульс не отправляется, что приводит к очистке сеанса. Если вы хотите отключить такое поведение для кластеров версии 3.4, то можете настроить для параметра Livy livy.server.interactive.heartbeat.timeout значение 0 с помощью пользовательского интерфейса Ambari. Если для кластеров версии 3.5 не настроить соответствующую конфигурацию, приведенную выше, то сеанс не будет удален.
jupyter notebook

Убедитесь, что вы можете использовать магическую команду Spark, доступную вместе с ядрами. Выполните следующие шаги. а. Создайте новую записную книжку. В правом верхнем углу щелкните Создать. Должны отобразиться ядро по умолчанию Python 2 или Python 3 и установленные ядра. Фактические значения могут отличаться в зависимости от выбранных вариантов установки. Выберите PySpark.
Важно! Щелкнув Создать, проверьте оболочку на наличие ошибок. Если отображается сообщение об ошибке TypeError: __init__() got an unexpected keyword argument ‘io_loop’ , возможно, возникла известная проблема с определенными версиями Tornado. Если это так, завершите работу ядра, а затем перейдите на использование более ранней версии установки Tornado с помощью следующей команды: pip install tornado==4.5.3 .
b. Запустите следующий фрагмент кода.
%%sql SELECT * FROM hivesampletable LIMIT 5
Зачем устанавливать Jupyter на моем компьютере?
Причины, по которым требуется установить на компьютер Jupyter и подключить к кластеру Apache Spark в HDInsight.
- Предоставляет возможность создавать записные книжки локально, тестировать приложение в работающем кластере, а затем отправлять записные книжки в кластер. Для отправки записных книжек в кластер можно отправить их с помощью Jupyter Notebook, которая запущена на кластере, или сохранить их в папке /HdiNotebooks в учетной записи хранения, связанной с кластером. Дополнительные сведения о хранении записных книжек в кластере см. в разделе Где хранятся записные книжки Jupyter.
- С помощью локально доступных записных книжек вы сможете подключиться к различным кластерам Spark в зависимости от потребностей вашего приложения.
- Можно использовать GitHub для реализации системы управления версиями, чтобы контролировать версии записных книжек. Вы также можете создать среду совместной работы, в которой несколько пользователей будут работать с одной записной книжкой.
- Вы можете работать с записными книжками локально даже без кластера. Кластер нужен только для тестирования записных книжек, но не обязателен для ручного управления записными книжками или средой разработки.
- Возможно, вам будет проще настроить локальную среду разработки, чем настраивать установку Jupyter в кластере. Вы можете спокойно пользоваться любым программным обеспечением, установленным локально, не настраивая удаленные кластеры.
Если Jupyter установлен на локальном компьютере, несколько пользователей могут одновременно запустить одну и ту же записную книжку в одном кластере Spark. В такой ситуации создаются несколько сеансов Livy. Если вы столкнетесь с проблемами и начнете их отладку, вам будет сложно определить, какой сеанс Livy какому пользователю принадлежит.
Дальнейшие действия
- Обзор: Spark в Azure HDInsight
- Ядра для Jupyter Notebook в Apache Spark
- Использование внешних пакетов с Jupyter Notebook в Apache Spark
Как установить ipython notebook на windows



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2024. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Как установить ipython notebook на windows



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2024. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Установка Jupyter Notebook для Python 3
Jupyter Notebook предлагает командную оболочку для интерактивных вычислений. Приложение Jupyter Notebook может взаимодействовать со многими языками программирования (Python, Julia, R, Haskell и Ruby) и часто используется для работы с данными, статистического моделирования и машинного обучения.
Jupyter позволяет создавать документы, объединяющие код и текст (абзацы, уравнения, цифры, ссылки и т.д.), которые помогают в представлении воспроизводимых исследований.
Данное руководство поможет установить Jupyter Notebook локально или на виртуальный сервер Ubuntu 16.04, а также ознакомит вас с основами работы данного приложения. В результате вы сможете запустить код Python 3 с помощью Jupyter Notebook на локальной машине или удалённом сервере.
Требования
- Среда разработки Python 3 на локальной машине (инструкции по настройке локальной среды ищите здесь) или удалённом сервере Ubuntu 16.04.
- Пользователь с доступом sudo; все команды данного руководства нужно запускать в сессии этого пользователя. Больше информации вы найдёте здесь.
1: Установка Jupyter Notebook
Jupyter Notebook можно установить с помощью пакетного менеджера pip.
Разверните среду разработки Python 3, в которую вы хотите установить Jupyter Notebook (в данном руководстве среда условно называется my_env).
cd ~/environments
. my_env/bin/activate
Затем нужно обновить pip:
pip install —upgrade pip
Чтобы установить Jupyter Notebook, запустите:
pip install jupyter
Приложение Jupyter Notebook установлено и готово к работе.
2: Подключение к серверу через SSH-туннель (опционально)
Если вы установили Jupyter Notebook на удалённый сервер, вам нужно подключиться к веб-интерфейсу с помощью SSH-туннеля. Jupyter Notebook использует конкретный порт (:8888, :8889), а SSH-туннель позволит защитить данные, передаваемые на этот порт сервера.
SSH-туннелирование в Mac или Linux
Если вы работаете с системами Mac или Linux, вы можете создать SSH-туннель, выполнив следующую команду SSH в новом локальном окне терминала:
ssh -L 8888:localhost:8888 your_server_username@your_server_ip
Команда ssh создает SSH-подключение, а флаг –L перенаправляет данный порт локального (клиентского) хоста на хост и порт на удаленной (серверной) стороне. То есть всё, что работает на этом порте на серверной стороне, будет передаваться на тот же порт на локальной машине.
Примечание: При необходимости укажите другой номер порта вместо 8888. Вместо server_username укажите имя текущего пользователя (например, 8host), а вместо your_server_ip – IP-адрес сервера. Например:
ssh -L 8888:localhost:8888 8host@203.0.113.0
Если команда не вернула ошибок, вернитесь в среду разработки и запустите Jupyter Notebook:
В выводе команды вы найдёте URL. Откройте в браузере на локальной машине ссылку:
По запросу предоставьте токен.
SSH-туннелирование в Windows и Putty
Если вы используете Windows, вы можете создать SSH-туннель с помощью Putty.
В поле Host Name (or IP address) укажите IP-адрес сервера, в Port укажите порт 22, в поле Saved Session укажите сессию удалённого сервера. В Connection type выберите SSH и нажмите Tunnels. Введите номер локального порта для доступа к Jupyter (выберите 8000 или выше, чтобы избежать конфликтов с другими приложениями). Укажите направление localhost:8888, где :8888 – номер порта, который использует Jupyter Notebook.
Нажмите Add, после чего порты появятся в списке Forwarded ports.
Нажмите Open, чтобы подключиться к серверу по SSH и создать туннель между указанными портами.
Откройте в браузере ссылку http://localhost:8000 (если вы указали другой номер порта, откорректируйте его), чтобы подключиться к Jupyter Notebook.
По запросу предоставьте токен.
3: Запуск Jupyter Notebook
Теперь можно запустить приложение Jupyter Notebook в терминале.
В терминале появится лог Jupyter Notebook. Как правило, при первом запуске Jupyter Notebook использует порт 8888. Чтобы узнать, какой порт использует приложение, ознакомьтесь с выводом предыдущей команды:
[I NotebookApp] Serving notebooks from local directory: /home/8host
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
.
Если вы работаете с Jupyter Notebook на локальной машине, веб-приложение Jupyter Notebook откроется в браузере по умолчанию. Если этого не произошло (или вы случайно закрыли окно), найдите в логе URL или откройте localhost:8888, чтобы подключиться.
Чтобы остановить приложение Jupyter Notebook, нажмите CTRL+C, затем Y и Enter для подтверждения.
Вы получите следующий вывод:
[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Приложение Jupyter Notebook остановлено.
4: Использование Jupyter Notebook
Данный раздел охватывает основы работы с Jupyter Notebook.
Примечание: Если вы ещё не запустили приложение, сделайте это с помощью команды:
Вы должны подключиться к приложению Jupyter Notebook в браузере.
Jupyter Notebook – очень производительное приложение с большим количеством полезных функций.
Чтобы создать документ, выберите в выпадающем меню справа New → Python 3 в правом верхнем выпадающем меню.
Это откроет новый документ. Теперь можно запустить код Python в ячейке или настроить markdown. Настройте первую ячейку для поддержки markdown; для этого нажмите Cell → Cell Type → Markdown в верхнем меню. Теперь можно использовать Markdown для создания записей и даже добавлять уравнения, написанные в LaTeX, помещая их между символами $$. Для примера введите следующую команду в ячейку после настройки markdown:
# Simple Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
Чтобы превратить Markdown в форматированный текст, нажмите клавиши Ctrl + Enter, и вы получите:
Simple Equation
Let us now implement the following equation in Pyton:
y=x 2
and print the result where x = 2
Вы можете использовать ячейки markdown для записей и создания кода. Попробуйте решить простое уравнение и получить результат на экране. Кликните по верхней ячейке, нажмите Alt+Enter, чтобы добавить новую ячейку ниже, и введите в неё следующий код:
x = 2
y = x**2
print(y)
Чтобы запустить код, нажмите Ctrl+Enter. Вы получите такой результат:
Simple Equation
Let us now implement the following equation in Pyton:
y=x 2
and print the result where x = 2
In [2]: x = 2
y = x*x
print (y)
4
Заключение
Теперь вы можете использовать Jupyter, чтобы писать воспроизводимый код Python и заметки в markdown. Чтобы получить быструю справку по Jupyter Notebook, выберите Help → User Interface Tour в верхнем меню навигации.