Использование Databricks Connect

#jupyter-notebook #databricks #azure-databricks

#jupyter-notebook #databricks #azure-databricks

Вопрос:

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

К сожалению, после нескольких дней поиска в Интернете я не могу найти подробную документацию по Databricks Connect.

Я запускаю databricks-connect configure , как предложено на странице PyPI выше, но я не уверен, каковы некоторые настройки. Не мог бы кто-нибудь, пожалуйста, рассказать мне об этом (например, где найти эти значения в веб-интерфейсе) или предоставить ссылку на соответствующую документацию?

Я знаю, какими должны быть некоторые настройки, но я включу все, что появляется при запуске databricks-connect configure , для полноты картины и пользы других.

Databricks Host
Databricks Token
Cluster ID (например, 0921-001415-jelly628 )
Org ID (Только для Azure, см. ?o=orgId в URL)
Port (так ли это spark.databricks.service.port ?)

Кроме того, и я думаю, это то, что меня больше всего интересует, нужно ли мне вносить какие-либо изменения в саму записную книжку, например, определять SparkContext или что-то в этом роде? Если да, то с какой конфигурацией?

И как я должен это запустить? После запуска databricks-connect configure кажется, что никакого «волшебства» не происходит. Когда я запускаю jupyter notebook , он по-прежнему работает локально и, похоже, не знает, нужно ли пересылать его в удаленный кластер.

Обновление: Если вы хотите придумать что-то более конкретное, в веб-интерфейсе Databricks dbutils это предопределенный объект. Как мне ссылаться на это при удаленном запуске ноутбука?

Комментарии:

1. В идеале вы хотите придерживаться одного вопроса за раз. Похоже, что вы запрашиваете пошаговое руководство, и поэтому оно не является отличным источником для этого. Маловероятно, что вы добьетесь здесь больших успехов.

2. Я думаю… Но если где-то есть хорошая документация, я был бы вполне доволен простой ссылкой.

3. Если бы мне пришлось выбрать один вопрос, это был бы «Нужно ли мне что-либо изменить в записной книжке, чтобы иметь возможность ее запускать?» Я думаю, что мог бы проработать свой путь с такой отправной точки.

4. К сожалению, на самом деле SO работает не так. В принципе, этот проект выглядит как тонкая оболочка вокруг Azure API, так что ваше первоначальное предположение будет заключаться в том, что конфигурация ссылается непосредственно на это.

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

Ответ №1:

Я пометил ответ другого человека как ответ, но по какой-то причине этот ответ теперь отсутствует.

Для моих целей сработало официальное руководство пользователя: https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html

Комментарии:

1. Меня удалили просто за публикацию ссылки 😒

2. Это странно. Ваш пост заполнил для меня все недостающие фрагменты, которые я не смог найти в Интернете иначе, включая руководство пользователя

3. Спасибо за ссылку. Кажется, я должен быть администратором, чтобы завершить эту настройку? Я действительно ненавижу редактор notebook…

4. Правильно, вам нужен администратор для настройки свойств кластера. Остальное вы должны быть в состоянии сделать самостоятельно.

5. Обновите приведенный выше комментарий: начиная с версии Databricks Runtime 5.5, кластер автоматически настраивается для приема подключений databricks-connect.

Ответ №2:

Короче говоря, вам нужно будет включить:

spark = SparkSession.builder.getOrCreate()

При запуске скриптов. Записные книжки должны конвертировать, но, конечно, волшебные команды (%run и т.д.) Не будут работать.

Здесь доступна более подробная информация о частях, которые не будут работать. https://datathirst.net/blog/2019/3/7/databricks-connect-finally