Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Записная книжка Microsoft Fabric — это основной элемент кода для разработки заданий Apache Spark и экспериментов машинного обучения. Это веб-интерактивная поверхность, используемая специалистами по обработке и анализу данных, для написания кода с помощью расширенных визуализаций и текста Markdown. В этой статье объясняется, как разрабатывать записные книжки с помощью операций с ячейками кода и запускать их.
Создание записных книжек
Записные книжки состоят из ячеек, являющихся отдельными блоками кода или текста, которые можно запускать независимо или в группе.
Мы предоставляем обширные возможности для разработки блокнотов.
- Добавление ячейки
- Настройка основного языка
- Использование нескольких языков
- IntelliSense в стиле IDE
- Фрагменты кода
- Перетащите, чтобы вставить фрагменты
- Перетащите и отпустите для вставки изображений
- Форматирование текстовой ячейки с кнопками панели инструментов
- Отмена или повтор повторения операции с ячейкой
- Перемещение ячейки
- Удаление ячейки
- Свернуть ввод ячейки
- Свернуть вывод ячейки
- Безопасность выхода ячейки
- Блокировка или замораживание ячейки
- Содержимое записной книжки
- Сворачивание Markdown
- Поиск и замена
Добавление ячейки
Существует несколько способов добавить в записную книжку новую ячейку.
Наведите указатель мыши между двумя ячейками и выберите Код или Markdown.
Используйте сочетания клавиш в командном режиме. Нажмите клавишу A, чтобы вставить ячейку над текущей ячейкой. Нажмите клавишу B, чтобы вставить ячейку под текущей ячейкой.
Установка основного языка
Записные книжки Fabric в настоящее время поддерживают четыре языка Apache Spark:
- PySpark (Python)
- Spark: Scala
- Spark SQL
- SparkR
Вы можете задать основной язык для новых добавленных ячеек из раскрывающегося списка в верхней строке команд.
Использование нескольких языков
Вы можете использовать несколько языков в записной книжке, указав волшебную команду языка в начале ячейки. Вы также можете переключить язык ячейки через меню выбора языка. В следующей таблице перечислены волшебные команды для переключения языков ячеек.
Волшебная команда | Язык | Описание |
---|---|---|
%%pyspark | Питон | Выполните запрос на языке Python к контексту Apache Spark. |
%%spark | язык программирования Scala | Выполните запрос на Scala в контексте Apache Spark. |
%%sql | SparkSQL | Выполните запрос SparkSQL к контексту Apache Spark. |
%%html | Html | Выполните html-запрос к контексту Apache Spark. |
%%sparkr | Р | Выполните R-запрос в контексте Apache Spark. |
IntelliSense в стиле IDE
Блокноты Fabric интегрированы с редактором Monaco, чтобы предоставить возможности IntelliSense в редакторе ячеек в стиле IDE. Выделение синтаксиса, маркер ошибки и автоматическое завершение кода помогают быстро писать код и выявлять проблемы.
Возможности IntelliSense находятся на разных уровнях зрелости для разных языков. В следующей таблице показано, что поддерживает Fabric:
Языки | Выделение синтаксиса | Маркер синтаксической ошибки | Завершение синтаксиса кода | Завершение кода переменной | Завершение кода системной функции | Завершение кода пользовательской функции | Умный отступ | Сворачивание кода |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Да | Да | Да | Да | Да | Да | Да | Да |
Питон | Да | Да | Да | Да | Да | Да | Да | Да |
Spark: Scala | Да | Да | Да | Да | Да | Да | Да | Да |
SparkSQL | Да | Да | Да | Да | Да | Нет | Да | Да |
SparkR | Да | Да | Да | Да | Да | Да | Да | Да |
T-SQL | Да | Да | Да | Нет | Да | Да | Да | Да |
Примечание.
Для использования автозавершения кода IntelliSense необходимо иметь активный сеанс Apache Spark.
Улучшение разработки Python с помощью Pylance
Примечание.
В настоящее время эта функция доступна в предварительной версии.
Теперь Pylance, мощный и многофункциональный языковой сервер, доступен в блокноте Fabric. Pylance упрощает разработку Python с помощью смарт-завершения, улучшения обнаружения ошибок и улучшения аналитики кода. К ключевым улучшениям относятся более умное автозавершение, улучшенная поддержка лямбда-функций, предложения параметров, улучшенные подсказки при наведении, улучшенная отрисовка строк документации и выделение ошибок. При использовании Pylance написание кода Python и PySpark становится более быстрым, более точным и более эффективным.
Фрагменты кода
Записные книжки Fabric предоставляют фрагменты кода, которые помогают легко писать часто используемые шаблоны кода, например:
- Чтение данных в формате DataFrame Apache Spark
- Рисование диаграмм с помощью Matplotlib
Фрагменты появляются в сочетаниях клавиш IntelliSense в стиле IDE, смешиваясь с другими предложениями. Содержимое фрагмента кода соответствует языку ячейки кода. Доступные фрагменты можно увидеть, введя фрагмент кода. Вы также можете ввести любое ключевое слово, чтобы просмотреть список соответствующих фрагментов. Например, если вы вводите чтение, вы увидите список фрагментов для чтения данных из различных источников данных.
Перетащите фрагменты, чтобы вставить их.
Используйте функцию перетаскивания, чтобы удобно считывать данные из Lakehouse explorer. Здесь поддерживается несколько типов файлов; можно работать с текстовыми файлами, таблицами, изображениями и т. д. Вы можете переместить файлы в существующую ячейку или в новую. Записная книжка создает фрагмент кода соответствующим образом для предварительного просмотра данных.
Перетащите изображения для вставки
Используйте перетаскивание, чтобы легко вставлять изображения из браузера или локального компьютера в ячейку Markdown.
Форматирование текстовой ячейки с помощью кнопок панели инструментов
Чтобы выполнить распространенные действия markdown, используйте кнопки форматирования на панели инструментов текстовой ячейки.
Отмена или повторное выполнение операций с ячейками
Выберите Отменить или Повторить, или нажмите Z или Shift+Z, чтобы отменить последние изменения в ячейке. Вы можете отменить или повторить до 10 последних операций с ячейками из истории.
Поддерживаемые операции отмены для ячеек
- Вставка или удаление ячейки. Вы можете отменить удаленные операции, выбрав Отменить (текстовое содержимое остается вместе с ячейкой).
- Переставить ячейку.
- Переключить параметр.
- Переключение между ячейкой кода и ячейкой Markdown.
Примечание.
Операции с текстом в ячейках и операции комментирования ячеек кода не могут быть отменены. Вы можете отменить или повторить до 10 последних операций с ячейками из истории.
Перемещение ячейки
Вы можете перетащить из пустой части ячейки и переместить в желаемое место.
Вы также можете переместить выбранную ячейку с помощью перемещения вверх и перемещения вниз на ленте.
Удаление ячейки
Чтобы удалить ячейку, нажмите кнопку удаления в правой части ячейки.
Вы также можете использовать сочетания клавиш в командном режиме. Нажмите Shift+D, чтобы удалить текущую ячейку.
Свернуть ввод ячейки
Выберите многоточие "Дополнительные команды" (...) на панели инструментов ячейки и Скрыть ввод, чтобы свернуть ввод текущей ячейки. Чтобы развернуть его снова, выберите Показать ввод, когда ячейка свернута.
Свернуть вывод ячейки
Выберите многоточие 'Дополнительные команды' на панели инструментов ячейки и Скрыть выходные данные, чтобы свернуть исходные данные текущей ячейки. Чтобы развернуть его снова, выберите "Показать выходные данные" при свернутых результатах ячейки.
Безопасность выходных данных ячеек
С помощью ролей доступа к данным OneLake (предварительная версия) пользователи могут настроить доступ только к определённым папкам в Lakehouse во время выполнения запросов в блокноте. Пользователи без доступа к папке или таблице видят несанкционированную ошибку во время выполнения запроса.
Внимание
Безопасность применяется только во время выполнения запроса, а все ячейки записной книжки, содержащие результаты запроса, могут просматриваться пользователями, которые не уполномочены выполнять запросы напрямую.
Блокировка или замораживание ячейки
Операции блокировки и замораживания ячеек позволяют создавать ячейки только для чтения или останавливать выполнение ячеек кода отдельно.
Объединение и разделение ячеек
Вы можете использовать слияние с предыдущей ячейкой или слиянием с следующей ячейкой , чтобы удобно объединить связанные ячейки.
Выбор Разделить ячейку помогает разделить неуместные утверждения на несколько ячеек. Операция разделяет код в соответствии с положением строки курсора.
Содержимое записной книжки
Выбор контуров или оглавления отображает первый заголовок markdown любой ячейки Markdown в окне на боковой панели для быстрой навигации. Боковая панель "Контуры" может изменяться и сворачиваема, чтобы лучше всего соответствовать экрану. Нажмите кнопку "Содержимое " на панели команд записной книжки, чтобы открыть или скрыть боковую панель.
Свертывание текста в формате Markdown
Параметр свертывания Markdown позволяет скрыть ячейки под ячейкой Markdown, содержащей заголовок. Ячейка Markdown и ее скрытые ячейки обрабатываются так же, как и набор смежных нескольких выбранных ячеек при выполнении операций с ячейками.
Поиск и замена
Параметр поиска и замены поможет вам сопоставить ключевые слова или выражения в содержимом записной книжки. Вы также можете легко заменить целевую строку новой строкой.
Завершение встроенного кода Copilot (предварительная версия)
Встроенное завершение кода Copilot — это функция на базе ИИ, которая помогает быстрее и эффективнее писать код Python в Fabric Notebooks. Эта функция предоставляет интеллектуальные предложения кода с поддержкой контекста при вводе кода. Это сокращает повторяющиеся задачи, сводит к минимуму синтаксические ошибки и ускоряет разработку, бесшовно интегрируясь в рабочий процесс вашего ноутбука.
Ключевые преимущества
- Завершения на основе искусственного интеллекта: Создает предложения на основе контекста записной книжки с помощью модели, обученной на миллионах строк кода.
- Повышает производительность: Помогает создавать сложные функции, сокращает повторяющееся кодирование и ускоряет изучение незнакомых библиотек.
- Уменьшает ошибки: Сводит к минимуму опечатки и синтаксические ошибки благодаря интеллектуальным, контекстно-зависимым завершениям.
- Минимальная настройка: Записные книжки Fabric имеют встроенные функции и не требуют установки. Вы можете просто включить его и начать программирование.
Принцип работы
Включите встроенные предложения кода с помощью переключателя в нижней части записной книжки. При вводе предложения отображаются в светло-сером тексте, нажимайте клавишу TAB, чтобы принять или изменить. Предложения основаны на предыдущих ячейках записной книжки.
Примечание.
Включение встроенного завершения кода Copilot потребляет дополнительные емкостные единицы.
Текущие ограничения
- Функция автозавершения кода Copilot в настоящее время поддерживает язык Python и использует контекст предыдущих ячеек, а также схемы Lakehouse.
- Рекомендации рассматривают данные из схем Lakehouse.
- Используется только подмножество элементов схемы, если существует множество таблиц или столбцов.
- Динамически созданные таблицы (через Spark) не распознаны в режиме реального времени.
Запуск ноутбуков
Вы можете запускать ячейки с кодом в своей записной книжке по отдельности или сразу все. Состояние и прогресс каждой ячейки отображаются в ноутбуке.
Запуск ячейки
Есть несколько способов запустить код в ячейке.
Наведите указатель мыши на ячейку, которую вы хотите запустить, и нажмите кнопку "Выполнить ячейку " или нажмите клавиши CTRL+ВВОД.
Используйте сочетания клавиш в командном режиме. Нажмите клавиши SHIFT+ВВОД , чтобы запустить текущую ячейку и выбрать следующую ячейку. Нажмите клавиши ALT+ВВОД , чтобы запустить текущую ячейку и вставить новую ячейку.
Запустить все ячейки
Нажмите кнопку "Запустить все ", чтобы запустить все ячейки в текущей записной книжке в последовательности.
Запустите все ячейки выше или ниже
Разверните раскрывающееся меню «Выполнить все», затем выберите «Выполнить ячейки выше», чтобы выполнить все ячейки над текущей последовательно. Выберите «Выполнить ячейки ниже», чтобы последовательно запустить текущую ячейку и все ячейки ниже нее.
Отменить выполнение всех запущенных ячеек
Выберите Отменить все, чтобы отменить выполняющиеся ячейки или ячейки, ожидающие в очереди.
Остановить сеанс
Остановка сеанса прерывает активные и ожидающие ячейки и останавливает текущий сеанс. Вы можете перезапустить новый сеанс, выбрав параметр запуска еще раз.
Эталонный запуск
Справка по запуску ноутбука
Помимо notebookutils reference run API, можно также использовать %run <notebook name>
магическую команду для ссылки на другой блокнот в контексте текущего блокнота. Все переменные, определенные в опорной записной книжке, доступны в текущей записной книжке. Магическая %run
команда поддерживает вложенные вызовы, но не поддерживает рекурсивные вызовы. Вы получаете исключение, если глубина инструкции превышает пять.
Пример: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Ссылка на записную книжку работает как в интерактивном режиме, так и в режиме конвейера.
Примечание.
- В настоящее время команда
%run
поддерживает только ссылочные записные книжки в одной рабочей области с текущей записной книжкой. - В настоящее время команда
%run
поддерживает только четыре типа значений параметров:int
,float
,bool
иstring
. Операция замены переменной не поддерживается. - Команда
%run
не поддерживает вложенную ссылку с глубиной больше пяти.
Справка по запуску скрипта
Эта %run
команда также позволяет запускать файлы Python или SQL, хранящиеся в встроенных ресурсах записной книжки, чтобы можно было удобно выполнять файлы исходного кода в записной книжке.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Варианты:
- -b/--builtin: этот параметр указывает, что команда находит и запускает указанный файл сценария из встроенных в записную книжку ресурсов.
- -c/-current: этот параметр гарантирует, что команда всегда использует встроенные ресурсы текущей записной книжки, даже если текущая записная книжка ссылается на другие записные книжки.
Примеры:
Чтобы запустить script_file.py из встроенных ресурсов, выполните следующие действия.
%run -b script_file.py
Чтобы запустить script_file.sql из встроенных ресурсов, выполните следующие действия.
%run -b script_file.sql
Чтобы запустить script_file.py из встроенных ресурсов с определенными переменными:
%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Примечание.
Если команда не содержит -b/--builtin, она пытается найти и выполнить элемент записной книжки в той же рабочей области, а не из стандартных ресурсов.
Пример использования для вложенного сценария выполнения:
- Предположим, у нас есть две записные книжки.
- Notebook1: содержит script_file1.py в встроенных ресурсах
- Notebook2: содержит script_file2.py в встроенных ресурсах
- Давайте будем использовать Notebook1 в качестве корневой записной книжки с содержимым:
%run Notebook2
- Затем в Notebook2 инструкция по использованию:
- Чтобы запустить script_file1.py в Notebook1(корневая записная книжка), код будет следующим:
%run -b script_file1.py
- Чтобы запустить script_file2.py в Notebook2(текущий Notebook), код будет следующим:
%run -b -c script_file2.py
- Чтобы запустить script_file1.py в Notebook1(корневая записная книжка), код будет следующим:
Обозреватель переменных
Записные книжки Fabric предоставляют встроенный инструмент для просмотра переменных, который отображает список имён переменных, их типа, длины и значения в текущем сеансе Spark для ячеек PySpark (Python). Дополнительные переменные отображаются автоматически, так как они определены в ячейках кода. Нажатие на каждый заголовок столбца сортирует переменные в таблице.
Чтобы открыть или скрыть обозреватель переменных, выберите Переменные на ленте записной книжки в разделе Просмотр.
Примечание.
Обозреватель переменных поддерживает только Python.
Индикатор состояния ячейки
Пошаговое состояние выполнения ячейки отображается под ячейкой, чтобы можно было просматривать ее текущий ход выполнения. После завершения выполнения ячейки появится сводка о выполнении с общей длительностью и временем окончания и сохраняется там для будущего использования.
Индикатор состояния сеанса
Настройка времени ожидания сеанса
В левом нижнем углу можно выбрать состояние сеанса, чтобы получить дополнительные сведения о текущем сеансе:
Во всплывающем окну есть возможность сбросить время ожидания до x минут или часов.
Выберите, как долго вы хотите, чтобы сеанс был непрерывным, и нажмите "Применить". Время ожидания сеанса сбрасывается с новым значением, и все в порядке!
Вы также можете задать время ожидания, как описано в:
- Параметры администрирования рабочей области "Проектирование данных" в Microsoft Fabric
- Волшебная команда конфигурации сеанса Spark
Оставаться в системе: При входе в систему, если отображается диалоговое окно "Оставаться в системе", выберите Да, чтобы отключить тайм-аут неактивного сеанса для текущего сеанса.
Внимание
Не выбирайте флажок "Не показывать это снова, так как это навсегда закрепит настройки входа. Обратите внимание, что этот параметр может не отображаться, если администратор арендатора отключил настройку "Оставаться в системе" (KMSI).
Запрос изменения политики: Если вам нужна большая продолжительность сеанса, попросите администратора арендатора продлить политику длительности времени простоя сеанса. Это можно сделать, перейдя к настройкам организации > Безопасность и конфиденциальность > Таймаут простоя сеанса в Центре администрирования M365.
Примечание.
При выборе KMSI и/или продлении времени бездействия сеанса увеличивается риск доступа к разблокированному компьютеру.
Как ABT и тайм-аут неактивного сеанса влияют на длительные выполнения ноутбуков Fabric?
Если у арендатора используется система ожидания на основе активности (ABT), длительные интерактивные задачи в блокнотах Fabric могут быть затронуты политикой времени ожидания неактивного сеанса в Microsoft 365. Эта функция безопасности предназначена для выхода пользователей на неактивных неуправляемых устройствах, даже если задание записной книжки по-прежнему выполняется. Несмотря на то что действия в других приложениях Microsoft 365 могут поддерживать активный сеанс, неактивные устройства автоматически выходят из системы.
Почему пользователи вышли даже когда задание ноутбука все еще выполняется?
Тайм-аут неактивного сеанса улучшает безопасность, завершая сеансы на неактивных устройствах для предотвращения несанкционированного доступа. Даже если записная книжка выполняется, сеанс завершается, если устройство неактивно. Сохранение сеансов, открытых на неактивных устройствах, угрожает безопасности, а потому такое поведение применяется.
Встроенный индикатор выполнения задания Apache Spark
Записная книжка Fabric основана на Apache Spark. Ячейки кода выполняются удаленно в кластере Apache Spark. Индикатор выполнения задания Spark включает в себя полосу прогресса в режиме реального времени, которая помогает понять статус выполнения задания. Количество задач на каждом задании или этапе помогает определить параллельный уровень задания Spark. Вы можете также углубиться в изучение интерфейса Spark для конкретного задания или этапа, выбрав ссылку с названием задания или этапа.
Вы также можете найти журнал работы ячейки в режиме реального времени рядом с индикатором выполнения, а Диагностика может предоставить полезные предложения для уточнения и отладки кода.
В дополнительных действиях можно легко перейти на страницу сведенийо приложении Spark и страницу веб-интерфейса Spark.
Редактирование секретов
Чтобы предотвратить случайную утечку учетных данных при выполнении записных книжек, записные книжки Fabric поддерживают маскировку секрета для замены значений секретов, отображаемых в выходных данных ячейки [REDACTED]
. Секретное редактирование применимо для Python, Scala и R.
Волшебные команды в записной книжке
Встроенные магические команды
В записных книжках Fabric можно использовать знакомые волшебные команды Ipython. Просмотрите следующий список доступных в настоящее время магических команд.
Примечание.
Это единственные магические команды, поддерживаемые в конвейере Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Доступные команды магии строк: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %whos, %xdel, %xmode.
Ноутбук Fabric также поддерживает усовершенствованные команды управления библиотеками %pip и %conda. Дополнительные сведения об использовании см. в разделе "Управление библиотеками Apache Spark" в Microsoft Fabric.
Доступные магические команды ячеек: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Пользовательские специальные команды
Вы также можете создавать более настраиваемые волшебные команды для ваших конкретных нужд. Приведем пример:
Создайте записную книжку с именем MyLakehouseModule.
В другой тетради сделайте ссылку на MyLakehouseModule, включая волшебные команды. Этот процесс позволяет удобно упорядочивать проект с помощью записных книжек, использующих разные языки.
Мини-приложения IPython
Мини-приложения IPython — это объекты Python с событиями, которые имеют представление в браузере. Мини-приложения IPython можно использовать как элементы управления с низким кодом (например, ползунок или текстовое поле) в записной книжке, как и записная книжка Jupyter. В настоящее время он работает только в контексте Python.
Использование мини-приложений IPython
Сначала импортируйте модуль ipywidgets, чтобы использовать платформу Мини-приложения Jupyter.
import ipywidgets as widgets
Используйте функцию отображения верхнего уровня, чтобы отобразить мини-приложение или оставить выражение типа мини-приложения в последней строке ячейки кода.
slider = widgets.IntSlider() display(slider)
Запустите ячейку. Виджет отображается в области вывода.
slider = widgets.IntSlider() display(slider)
Используйте несколько вызовов display() для отображения одного экземпляра мини-приложения несколько раз. Они остаются синхронизированы друг с другом.
slider = widgets.IntSlider() display(slider) display(slider)
Чтобы обеспечить независимость двух мини-приложений, создайте для каждого из них отдельный экземпляр виджета.
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Поддерживаемые мини-приложения
Тип мини-приложений | Мини-приложения |
---|---|
Числовые виджеты | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Логические виджеты | Переключатель, Флажок, Действительный |
Виджеты выбора | Выпадающий список, Переключатели, Выбор, Слайдер выбора, Слайдер диапазона выбора, Кнопки переключения, Множественный выбор |
Виджеты строк | Текст, Текстовое поле, Выпадающий список, Пароль, Метка, HTML, HTML Math, Изображение, Кнопка |
Мини-приложения для активизации анимаций | Выбор даты, Выбор цвета, Контроллер |
Виджеты контейнера или макета | Контейнер, Горизонтальный контейнер, Вертикальный контейнер, Таблица, Аккордеон, Вкладки, Слои |
Известные ограничения
Следующие мини-приложения пока не поддерживаются. Доступны следующие обходные пути.
Функция Обходное решение Виджет вывода Вместо этого можно использовать функцию print() для записи текста в stdout. widgets.jslink() Функцию widgets.link() можно использовать для связывания двух аналогичных мини-приложений. Мини-приложение FileUpload Функция пока не поддерживается. Функция глобального отображения Fabric не поддерживает отображение нескольких мини-приложений в одном вызове (например, display(a, b)). Это поведение отличается от функции display в IPython.
Если закрыть записную книжку, содержащую мини-приложение IPython, вы не сможете видеть или взаимодействовать с ней, пока не будет выполнена соответствующая ячейка еще раз.
Функция взаимодействия (ipywidgets.interact) не поддерживается.
Интегрировать записную книжку
Назначение ячейки параметров
Чтобы параметризировать записную книжку, выберите многоточие (...), чтобы получить доступ к командам More на панели инструментов ячеек. Затем выберите Переключить ячейку параметра, чтобы назначить ее ячейкой параметров.
Ячейка параметра полезна для интеграции тетради в поток данных. Деятельность конвейера ищет ячейку параметров и обрабатывает эту ячейку как значение по умолчанию для параметров, передаваемых при выполнении конвейера. Подсистема выполнения добавляет новую ячейку под ячейкой параметров с входными параметрами, чтобы перезаписать значения по умолчанию.
Присвоение значений параметрам из конвейера
После создания блокнота с параметрами его можно запустить из процесса с активностью блокнота Fabric. После добавления действия на холст конвейера, можно задать значения параметров в разделе "Базовые параметры" на вкладке "Настройки".
При назначении значений параметров можно использовать язык выражений конвейера или функции и переменные.
Магическая команда для настройки сеанса Spark
Вы можете персонализировать сеанс Spark с помощью волшебной команды %%configure. Ноутбук Fabric поддерживает настраиваемые vCores, память драйвера и исполнителя, свойства Apache Spark, точки монтирования, пул и озеро данных по умолчанию для сессии ноутбука. Их можно использовать как в интерактивных блокнотах, так и в блокнотах конвейера. Рекомендуется запустить команду %%configure в начале вашей записной книжки, или вам нужно будет перезапустить сеанс Spark, чтобы настройки вступили в силу.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":
{
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
},
"defaultLakehouse": { // This overwrites the default lakehouse for current session
"name": "<lakehouse-name>",
"id": "<(optional) lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
},
"mountPoints": [
{
"mountPoint": "/myMountPoint",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Примечание.
- Рекомендуется задать одно и то же значение для DriverMemory и ExecutorMemory в %%configure. Значения driverCores и "executorCores" также должны совпадать.
- Свойство "defaultLakehouse" перезаписывает закрепленный "lakehouse" в просмотре Lakehouse, но это работает только в текущем сеансе работы с записной книжкой.
- Вы можете использовать %%configure в конвейерах Fabric, но если он не задан в первой ячейке кода, запуск конвейера завершается сбоем из-за невозможности перезапуска сеанса.
- %%configure, используемый в notebookutils.notebook.run, будет игнорироваться, но используется в %run notebook и продолжит выполняться.
- Стандартные свойства конфигурации Spark должны использоваться в секции 'conf'. Структура не поддерживает ссылку на первый уровень для свойств конфигурации Spark.
- Некоторые специальные свойства Spark, включая spark.driver.cores, spark.executor.cores, spark.driver.memory, spark.executor.memory и spark.executor.instances, не вступают в силу в разделе конфигурации conf.
Параметризованная конфигурация сеанса из потока
Параметризованная конфигурация сеанса позволяет заменить значение в команде %%configure magic параметрами активности выполнения записной книжки конвейера. При подготовке ячейки кода %%configure вы можете переопределить значения по умолчанию (также настраиваемые, 4 и "2000" в приведенном ниже примере) с помощью следующего объекта.
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
Записная книжка использует значение по умолчанию, если вы напрямую запускаете ее в интерактивном режиме или если действие конвейера записной книжки не предоставляет параметров, соответствующих "activityParameterName".
Во время выполнения конвейера можно настроить параметры активности записной книжки в конвейере следующим образом:
Если вы хотите изменить конфигурацию сеанса, названия параметров задания записной книжки конвейера должны совпадать с parameterName
в записной книжке. В этом примере запуска конвейера, driverCores
в %%configure заменяются на 8, и livy.rsc.sql.num-rows
заменяются на 4000.
Примечание.
- Если запуск конвейера завершается сбоем из-за использования команды %%configure magic, найдите дополнительные сведения об ошибке, запустив магическую ячейку %%configure в интерактивном режиме блокнота.
- Запланированные запуски в Notebook не поддерживают параметризованную конфигурацию сеанса.
Ведение журнала Python в блокноте
Логи Python можно найти и задать различные уровни ведения журнала и формат, как показано в примере кода здесь.
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Просмотр журнала входных команд
Интерактивная записная книжка Fabric поддерживает волшебную команду, которая позволяет печатать журнал входных команд %history
, выполняемых в текущем сеансе. В отличие от стандартной команды Jupyter Ipython %history
, эта команда работает в контексте нескольких языков в ноутбуке.
%history [-n] [range [range ...]]
Варианты:
- -n: отобразить номер выполнения.
Диапазон может быть:
- N: печать кода N-ой выполненной ячейки.
- M-N: напечатать код из выполненных ячеек от Mth до Nth.
Пример:
- Вывод журнала ввода от 1-й до 2-й выполненной ячейки:
%history -n 1-2
Сочетания клавиш
Аналогично Jupyter Notebook, записные книжки Fabric имеют модальный пользовательский интерфейс. Клавиатура выполняет разные действия в зависимости от того, в каком режиме находится ячейка записной книжки. Записные книжки Fabric поддерживают следующие два режима для заданной ячейки кода: режим команд и режим редактирования.
Ячейка находится в режиме командной строки, когда текстовый курсор не запрашивает ввод. Когда ячейка находится в командном режиме, вы можете редактировать тетрадь целиком, но не можете вводить текст в отдельные ячейки. Введите режим команд, нажав клавишу ESC или используя мышь, чтобы выбрать вне области редактора ячейки.
Режим редактирования может быть обозначен наличием текстового курсора, который подсказывает начать ввод в области редактора. Если ячейка находится в режиме редактирования, можно вводить текст в ячейку. Введите режим редактирования, нажав клавишу ВВОД или используя мышь, чтобы выбрать область редактора ячейки.
Сочетания клавиш в командном режиме
Действие | Сочетания клавиш для ноутбука |
---|---|
Запустите текущую ячейку, а затем выберите ниже | SHIFT+ENTER |
Запустите текущую ячейку и добавьте ниже | Alt+Ввод |
Запустить текущую ячейку | Ctrl+Ввод |
Выберите ячейку выше | Вверх |
Выбор ячейки ниже | Вниз |
Выбор предыдущей ячейки | К |
Выбор следующей ячейки | J |
Вставить ячейку выше | А |
Вставка ячейки ниже | Б |
Удаление выбранных ячеек | SHIFT +D |
Переключение в режим правки | Введите |
Горячие клавиши в режиме редактирования
Используя следующие сочетания клавиш, вы можете легко перемещаться и запускать код в записных книжках Fabric в режиме редактирования.
Действие | Сочетания клавиш для ноутбука |
---|---|
Перемещение курсора вверх | Вверх |
Перемещение курсора вниз | Вниз |
Отменить | CTRL+Z |
Переделать | CTRL+Y |
Закомментировать или раскомментировать | CTRL+ / Комментарий: CTRL + K + C Раскомментируйте: Ctrl + K + U |
Удалить слово перед | Ctrl+Backspace |
Удалите слово после | Ctrl (Управление) + Delete |
Перейти к началу ячейки | CTRL+Главная |
Перейти к концу ячейки | Ctrl + Конец |
Сдвиньтесь на одно слово влево | Ctrl + Влево |
Перейти на одно слово вправо | Ctrl+Вправо |
Выбрать все | CTRL + A |
Отступ | CTRL+ ] |
Понижение уровня | CTRL+ [ |
Переключение в режим команд | Клавиша Esc |
Чтобы найти все сочетания клавиш, выберите "Вид" на ленте записной книжки, а затем выберите "Назначения клавиш".