Установка 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
Python. Anaconda Prompt. Комманда «jupyter notebook» не работает
Начала делать как в инструкции чтобы запустить «Anaconda Prompt» https://www.youtube.com/watch?v=5mDYijMfSzs Windows 10 64 bit были выполнены комманды от имени Администратора в
python —version
conda info
conda install numpy
jupyter notebook
После «jupyter notebook»
Отслеживать
задан 30 мар 2020 в 16:18
379 1 1 серебряный знак 7 7 бронзовых знаков
Anaconda promt у вас как раз работает. у вас не запускается ноутбук. Уточните свой вопрос.
30 мар 2020 в 17:59
Стоп. Юпитер запускается с ярлыка, который лежит в «пуске -> анаконда».
31 мар 2020 в 8:21
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- python
- python-3.x
- windows
- anaconda
- запуск
NeilAlishev / Instruction.md
Это очень частая проблема, которая появляется на некоторых ОС. Дело в том, что среда разработки запустилась, но браузер не открылся автоматически.
Как решить эту проблему?
В первую очередь, попробуйте запустить Anaconda Navigator с правами администратора (правой кнопкой мыши нажать на иконку Anaconda Navigator, во всплывающем меню выбрать «Запуск от имени администратора»). Теперь, запустите Jupyter Notebook.
Если все равно не открывается окно браузера, выполните инструкции описанные далее.
- Запустите программу, которая называется CMD.exe Prompt (может также называться Anaconda Prompt), нажав на Launch. Эта программа находится тут же, в Anaconda Navigator, рядом с программой Jupyter Notebook. После нажатия на Launch, должна открыться командная строка. Если этой программы нет в Anaconda Navigator, можно найти программу «Anaconda Prompt» на компьютере с помощью обычного поиска по программам.
- В этой командной строке мы должны выполнить команду jupyter notebook list (если команда не сработала, попробуйте сначала выполнить команду jupyter notebook list -V , а потом уже команду jupyter notebook list )
- Вышеупомянутая команда показывает тот адрес, по которому мы сможем получить доступ к нашей среде разработки. Адрес имеет вид: http://localhost:8888/?token=СЛУЧАЙНАЯ_ПОСЛЕДОВАТЕЛЬНОСТЬ_БУКВ_И_ЦИФР
Вам необходимо скопировать этот адрес, вставить его в адресную строку вашего браузера и перейти на эту страницу. После этого откроется среда разработки Jupyter Notebook. Можно работать.
Чтобы скопировать адрес из командной строки Windows, необходимо кликнуть правой кнопкой мыши в любом месте командной строки. В выпадающем меню надо выбрать пункт «пометить». После этого, можно будет выделить курсором интересующий нас адрес. После того, как адрес будет выделен, надо нажать на клавишу Enter на вашей клавиатуре. Готово — адрес скопирован в буфер обмена. Можно его вставлять в адресную строку браузера.
ОС Linux или Mac OS: Надо просто открыть терминал и там написать jupyter notebook Полученный адрес надо скопировать в адресную строку браузера.
P.S. Если Jupyter Notebook так и не запустился, можно использовать среду разработки PyCharm. Эта среда разработки ничуть не хуже, чем Jupyter Notebook, и тоже отлично нам подойдет.
Необычная среда разработки 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. А если у вас у вас остались вопросы — оставляйте их в комментариях, мы поможем разобраться.