Установка 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
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 >
Совет Сигналы пульса отправляются, чтобы предотвратить утечку сеансов. При переходе в спящий режим или завершении работы компьютера пульс не отправляется, что приводит к очистке сеанса. Если вы хотите отключить такое поведение для кластеров версии 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 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Необычная среда разработки Jupyter Notebook
Если вы хотите писать на Python или работать с Data Science, обратите внимание на интерактивную среду разработки с «живым» кодом — Jupyter Notebook — главного героя сегодняшней статьи.
Что такое Jupyter Notebook
Jupyter Notebook (или Jupyter-ноутбук) — бесплатное веб-приложение, в котором разработчики могут работать с кодом: писать и проверять функции, загружать файлы в память, обрабатывать содержимое и многое другое.
Главное отличие от других сред разработки в том, что код можно разбивать на куски (отдельные фрагменты), чтобы выполнять их в произвольном порядке. А еще в Jupyter-блокноте есть вывод результата сразу после фрагмента кода, благодаря чему можно увидеть график, диаграмму или получить предварительные цифры прямо в середине кода.
Поэтому Jupyter Notebook часто используют новички при изучении программирования на Python: можно писать код и сразу видеть результат своей работы. Однако основная область применения Jupyter — машинное обучение, нейросети, визуализация данных и статистика (это и есть Data Science).
Какие языки поддерживаются
Чаще всего Jupyter Notebook используют для работы с Python. Но поддерживаются и другие языки программирования, например:
Чтобы программировать на них, нужно использовать специальные «волшебные» команды — magic-command. Они позволяют запускать код на других языках и существенно расширяют возможности обычного Python. Для каждого из перечисленных выше языков есть отдельная инструкция по установке, поэтому это тема для отдельного поста. Дайте знать в комментариях, если хотите прочитать статью на эту тему.
Jupyter-ноутбук можно запустить двумя способами: на компьютере или в облаке.
Запуск на компьютере
Если вы сами хотите контролировать всё, что происходит с кодом и со средой разработки, тогда нужно установить Jupyter к себе на компьютер.
Как запустить Jupyter Notebook из консоли
Для этого понадобится один убунту-сервер (server Ubuntu 18.04). На этом сервере должны быть настроены пользователь без привилегий root с привилегиями sudo и брандмауэр. И, раз основная среда в таком ноутбуке — это Python, то для работы у вас уже должен быть скачан и установлен Python с загруженной библиотекой Jupyter.
Когда всё будет готово, введите в командную строку (terminal) эту команду:
pip3 install jupyter
Это активирует установочную утилиту — pip, основные задачи которой распаковывать, устанавливать и обновлять пакеты программ.
После перед вами появится сообщение Succellfull installed, что означает, что установка успешно завершена.
Теперь Jupyter Notebook готов к запуску. Чтобы открыть его, используйте команду:
Она запустит локальный сервер для работы ноутбука и покажет нам готовую среду разработки.
Как запустить Jupyter Notebook с помощью Anaconda
Еще один способ запустить Jupyter, который, к слову, подходит и для Windows — загрузить Anaconda. Это архивированный набор файлов с полезным софтом: Python, Jupyter, NumPy, pandas, Matplotlib.
Чтобы установить как Python, так и Jupyter Notebook, скачайте установщик Anaconda для своей платформы и запустите его. В мастере установки укажите параметр для добавления Anaconda в переменную PATH.
- После завершения установки, откройте консоль, нажав на клавиши Win+R.
- В появившемся окне введите cmd после чего нажмите Enter (во всех версиях Windows).
- В среде cmd введите команду: jupyter notebook, и вы сможете запустить редактор.
Запуск в облаке
Если нужно написать код здесь и сейчас без лишних заморочек, можете запустить Jupyter в облаке. Для этого нужно использовать специальные сервисы, работающие во всех браузерах, например, Google Colab. Здесь нет никаких нюансов: переходите по ссылке, следуйте указаниям и создавайте код.
Но сразу же отметим минусы этого способа: программа может работать не так быстро, как на локальной машине. Плюс в облаке может не оказаться нестандартных, но нужных библиотек.
Jupyter Notebook открылся — что делать дальше
С помощью Jupyter Notebook можно загружать файлы, которые будут перемещены в папку, из которой запускается сам ноутбук, и создавать свои файлы (ipynb и не только).
Также вы сможете редактировать и запускать код, по необходимости добавляя к нему текстовые комментарии-напоминалки или сообщения для совместной работы с коллегами.
Для начала работы запустите программу одним из описанных выше способов. URL-адрес приложения будет выглядеть так: https://localhost:8888/tree.
Теперь нажмите на кнопку Upload в правом верхнем углу, если хотите загрузить свой файл (например, в формате config). Если вы хотите написать код с нуля, создайте свой ipynb-файл, нажав на кнопку New.
Дальше всё зависит от цели. Можете писать код, можете писать текст, можете делать и то и другое. Кликайте на пустую ячейку (она пока одна) и … начинайте! Напишите выражение вывода, используя синтаксис Python 3 и нажмите «Run». Вот так за пару шагов вы создали свой фрагмент кода.
Чтобы создать новую ячейку, нажмите «+» на панели инструментов. Вырезайте, копируйте, удаляйте и редактируйте ячейки и markdown (разметку текста) с помощью вкладки Edit.
Как использовать горячие клавиши Jupyter Notebook
Если вы новичок, не пренебрегайте использованием горячих клавиш. В долгосрочной перспективе время на изучение окупится многократно, а пока можете использовать нашу статью в качестве подсказки.
Esc: Переключение между режимом выполнения и редактирования
A: Добавление пустой ячейки сверху
B: Добавление пустой ячейки снизу
DD: Удаления ячейки
C: Копирование ячеек
X: Вырезание ячеек
V: Вставка ячеек
Комбинируя их, вы сможете быстро совершать множество базовых действий.
Например, для перезапуска блокнота нажмите ESC + 00.
Чтобы прокрутить блокнот вниз, нажмите Space, или а Shift + Space — для прокрутки вверх.
Для запуска кода используйте:
- Shift+Enter — выполнение текущей ячейки и перевод фокуса на следующую.
- Ctrl+Enter — выполнение текущей ячейки и сохранение фокуса на текущей ячейке.
- Alt+Enter — выполнение текущей ячейки и перевод фокуса на новую ячейку созданную ниже.
Для быстрого удаления ячейки нажмите ESC + Z.
Если вы начали писать код в одной ячейке, но понимаете, что их всё же нужно разделить, не обязательно разделять текст вручную. Просто поставьте курсор в нужное место и используйте Control + Shift + или -.
Чтобы легко и быстро перемещаться к ячейке, которая выполняется в данный момент, нажмите Alt + I.
А если что-то пошло не по плану, можно пропустить выполнение ячейки, зажав %%script false.
Если не хочется морочиться с маркдауном и вручную проставлять #, используйте шорткаты: 1, 2, 3, 4, 5, 6.
Похожие команды есть и для конвертации типов ячеек
- Y — code,
- M — markdown,
- R — raw.
Чтобы открыть полный список горячих клавиш, нажмите Help → Keyboard Shortcuts в верхнем меню.
Желаем вам продуктивной работы с Jupyter Notebook. А если у вас у вас остались вопросы — оставляйте их в комментариях, мы поможем разобраться.
Установка 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 в верхнем меню навигации.
