Разработка, выполнение и управление записными книжками Microsoft Fabric

Записная книжка Microsoft Fabric — это основной элемент кода для разработки заданий Apache Spark и экспериментов машинного обучения. Это веб-интерактивная поверхность, используемая специалистами по обработке и анализу данных, для написания кода с помощью расширенных визуализаций и текста Markdown. В этой статье объясняется, как разрабатывать записные книжки с помощью операций с ячейками кода и запускать их.

Разработка записных книжек

Записные книжки состоят из ячеек, являющихся отдельными блоками кода или текста, которые можно запускать независимо или в группе.

Мы предоставляем широкие возможности для разработки записных книжек.

Добавление ячейки

Существует несколько способов добавить в записную книжку новую ячейку.

  1. Наведите указатель мыши между двумя ячейками и выберите Код или Markdown.

  2. Используйте сочетания клавиш в режиме команды. Нажмите клавишу A, чтобы вставить ячейку над текущей ячейкой. Нажмите клавишу B, чтобы вставить ячейку под текущей ячейкой.

Установка основного языка

Записные книжки Fabric в настоящее время поддерживают четыре языка Apache Spark:

  • PySpark (Python)
  • Spark (Scala)
  • SQL Spark
  • SparkR

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

Использование нескольких языков

Вы можете использовать несколько языков в записной книжке, указав волшебную команду языка в начале ячейки. Вы также можете переключить язык ячеек с средства выбора языка. В следующей таблице перечислены волшебные команды для переключения языков ячеек.

Снимок экрана: пример волшебной команды языка, введенной в начале ячейки.

Волшебная команда Язык Description
%%pyspark Python Выполните запрос Python к контексту Spark.
%%spark Scala Выполните запрос Scala к контексту Spark.
%%sql SparkSQL Выполните запрос SparkSQL к контексту Spark.
%%html Html Выполните HTML-запрос к контексту Spark.
%%sparkr R Выполните запрос R к контексту Spark.

Функция IntelliSense в IDE

Записные книжки Fabric интегрированы с редактором Монако, чтобы перенести IntelliSense в редактор ячеек в стиле IDE. Выделение синтаксиса, маркер ошибки и автоматическое завершение кода помогают быстро писать код и выявлять проблемы.

Возможности IntelliSense находятся на разных уровнях зрелости для разных языков. В следующей таблице показано, что поддерживает Fabric:

Языки Выделение синтаксиса Маркер синтаксической ошибки Завершение синтаксиса кода Завершение кода переменной Завершение кода системной функции Завершение кода пользовательской функции Смарт-отступ Свертывание кода
PySpark (Python) Да Да Да Да Да Да Да Да
Spark (Scala) Да Да Да Да Да Да Да Да
SparkSQL Да Да Да Да Да No Да Да
SparkR Да Да Да Да Да Да Да Да

Примечание.

Для использования завершения кода IntelliSense необходимо иметь активный сеанс Spark.

Фрагменты кода

Записные книжки Fabric предоставляют фрагменты кода, которые помогают легко писать часто используемые шаблоны кода, например:

  • Чтение данных в виде кадра данных Spark
  • Рисование диаграмм с помощью Matplotlib

Фрагменты появляются в разделе Сочетания клавиш IntelliSense в стиле IDE вместе с другими предложениями. Содержимое фрагмента кода соответствует языку ячейки кода. Доступные фрагменты можно увидеть, введя фрагмент кода. Вы также можете ввести любой ключевое слово, чтобы просмотреть список соответствующих фрагментов. Например, если вы вводите чтение, вы увидите список фрагментов для чтения данных из различных источников данных.

Анимированный GIF фрагментов кода.

Перетащите и перетащите фрагменты, чтобы вставить фрагменты

Используйте перетаскивание для удобного чтения данных из обозревателя Lakehouse. Здесь поддерживаются несколько типов файлов; текстовые файлы, таблицы, изображения и т. д. Можно либо удалить в существующую ячейку, либо в новую. Записная книжка создает фрагмент кода соответствующим образом для предварительного просмотра данных.

Анимированный GIF-файл перетаскивания для вставки фрагментов.

Перетащите и перетащите изображения для вставки изображений

Используйте перетаскивание, чтобы легко вставлять изображения из браузера или локального компьютера в ячейку Markdown.

Анимированный GIF-файл перетаскивания для вставки изображений.

Форматирование текстовой ячейки с помощью кнопок панели инструментов

Чтобы выполнить распространенные действия markdown, используйте кнопки форматирования на панели инструментов текстовой ячейки.

Снимок экрана: панель инструментов форматирования текста.

Отмена или повторная операция ячейки

Выберите "Отменить" или "Повторить" или нажмите клавишу Z или SHIFT+Z, чтобы отменить последние операции ячейки. Вы можете отменить или повторно выполнить до 10 последних операций с историческими ячейками.

Снимок экрана: параметры меню отмены и повтора.

Поддерживаемые операции с ячейками отмены

  • Вставка или удаление ячейки. Вы можете отменить операции удаления, выбрав "Отменить" (текстовое содержимое хранится вместе с ячейкой).
  • Реорганизовать ячейку.
  • Переключить параметр.
  • Преобразование между ячейкой кода и ячейкой Markdown.

Примечание.

Операции текстового текста в ячейках и операции комментариев ячеек кода не могут быть отменены. Вы можете отменить или повторно выполнить до 10 последних операций с историческими ячейками.

Перемещение ячейки

Вы можете перетащить ее из пустой части ячейки и удалить ее в нужное положение.

Вы также можете переместить выбранную ячейку с помощью перемещения вверх и перемещения вниз на ленте.

Снимок экрана: параметры перемещения ячейки.

Удаление ячейки

Чтобы удалить ячейку, нажмите кнопку удаления в правой части ячейки.

Вы также можете использовать сочетания клавиш в режиме команды. Нажмите Shift+D, чтобы удалить текущую ячейку.

Сворачивание входных данных ячейки

Выберите многоточие команд (...) на панели инструментов ячейки и скрыть входные данные, чтобы свернуть входные данные текущей ячейки. Чтобы развернуть его еще раз, выберите "Показать входные данные " при сворачивании ячейки.

Сворачивание выходных данных ячейки

Выберите многоточие команд (...) на панели инструментов ячейки и скрыть выходные данные, чтобы свернуть выходные данные текущей ячейки. Чтобы развернуть его еще раз, выберите "Показать выходные данные " при свертывание выходных данных ячейки.

Безопасность выходных данных ячейки

С помощью ролей доступа к данным OneLake (предварительная версия) пользователи могут настроить доступ только к определенным папкам в Lakehouse во время запросов записной книжки. Пользователи без доступа к папке или таблице увидят несанкционированную ошибку во время выполнения запроса.

Внимание

Безопасность применяется только во время выполнения запроса, а все ячейки записной книжки, содержащие результаты запроса, могут просматриваться пользователями, которые не уполномочены выполнять запросы напрямую.

Блокировка или замораживание ячейки

Операции блокировки и замораживания ячеек позволяют создавать ячейки только для чтения или останавливать выполнение ячеек кода отдельно.

Анимированный GIF-файл блокировки или замораживания ячейки.

Объединение и разделение ячеек

Вы можете использовать слияние с предыдущей ячейкой или слиянием с следующей ячейкой , чтобы удобно объединить связанные ячейки.

Выбор ячейки split помогает разделить неуместные операторы на несколько ячеек. Операция разделяет код в соответствии с положением строки курсора.

Снимок экрана: запись разделенных ячеек слиянием.

Содержимое записной книжки

Выбор структуры или оглавления представляет первый заголовок markdown любой ячейки Markdown в окне боковой панели для быстрой навигации. Боковая панель "Контуры" может изменяться и сворачиваема, чтобы лучше всего соответствовать экрану. Нажмите кнопку "Содержимое " на панели команд записной книжки, чтобы открыть или скрыть боковую панель.

Снимок экрана: место выбора параметра

Свертывание Markdown

Параметр свертывания markdown позволяет скрыть ячейки под ячейкой Markdown, содержащей заголовок. Ячейка Markdown и ее скрытые ячейки обрабатываются так же, как и набор смежных нескольких выбранных ячеек при выполнении операций с ячейками.

Анимированный GIF-файл свертывания markdown.

Поиск и замена

Параметр поиска и замены поможет вам сопоставить и найти ключевое слово или выражение в содержимом записной книжки. Вы также можете легко заменить целевую строку новой строкой.

Снимок экрана: область поиска и замены.

Выполнение записных книжек

Вы можете выполнять ячейки кода в записной книжке по отдельности или все сразу. Состояние и ход выполнения каждой ячейки отображаются в записной книжке.

Выполнение ячейки

Есть несколько способов запустить код в ячейке.

  • Наведите указатель мыши на ячейку, которую вы хотите запустить, и нажмите кнопку "Выполнить ячейку " или нажмите клавиши CTRL+ВВОД.

  • Используйте сочетания клавиш в режиме команды. Нажмите клавиши SHIFT+ВВОД , чтобы запустить текущую ячейку и выбрать следующую ячейку. Нажмите клавиши ALT+ВВОД , чтобы запустить текущую ячейку и вставить новую ячейку.

Выполнение всех ячеек

Нажмите кнопку "Запустить все ", чтобы запустить все ячейки в текущей записной книжке в последовательности.

Выполнение всех ячеек выше или ниже

Разверните раскрывающийся список из списка "Выполнить все", а затем выберите "Выполнить ячейки выше ", чтобы запустить все ячейки над текущим в последовательности. Выберите "Выполнить ячейки ниже ", чтобы запустить текущую ячейку и все ячейки под текущим в последовательности.

Снимок экрана: параметры меню

Отмена выполнения всех ячеек

Выберите "Отменить все ", чтобы отменить выполняемые ячейки или ячейки, ожидающие в очереди.

Остановить сеанс

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

Снимок экрана, на котором показано, где выбрать

Эталонный запуск

Ссылка на запуск записной книжки

Помимо API запуска справочника mssparkutils, можно также использовать %run <notebook name> магическую команду для ссылки на другую записную книжку в контексте текущей записной книжки. Все переменные, определенные в записной книжке, переход к которой выполняется по ссылке, доступны в текущей записной книжке. Магическая %run команда поддерживает вложенные вызовы, но не поддерживает рекурсивные вызовы. Вы получаете исключение, если глубина инструкции превышает пять.

Пример: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

Ссылка на записную книжку работает как в интерактивном режиме, так и в конвейере.

Примечание.

  • В %run настоящее время команда поддерживает только справочные записные книжки в той же рабочей области с текущей записной книжкой.
  • В %run настоящее время команда поддерживает только четыре типа значений параметров: int, , floatboolи string. Операция замены переменной не поддерживается.
  • Команда %run не поддерживает вложенную ссылку с глубиной больше пяти.

Справочник по запуску скрипта

Эта %run команда также позволяет запускать файлы Python или SQL, хранящиеся в встроенных ресурсах записной книжки, чтобы можно было удобно выполнять файлы исходного кода в записной книжке.

%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]

Для параметров:

  • -b/-встроенный: этот параметр указывает, что команда будет находить и запускать указанный файл скрипта из встроенных ресурсов записной книжки.
  • -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/-, он попытается найти и выполнить элемент записной книжки в той же рабочей области, а не встроенные ресурсы.

Пример использования для вложенного случая выполнения:

  • Предположим, у нас есть две записные книжки.
    • Notebook1: содержит script_file1.py в встроенных ресурсах
    • Notebook2: содержит script_file2.py в встроенных ресурсах
  • Давайте будем использовать Notebook1 в качестве корневой записной книжки с содержимым: %run Notebook2
  • Затем в Записной книжке2 инструкция по использованию:
    • Чтобы запустить script_file1.py в Notebook1 (корневой записной книжке), код будет следующим: %run -b script_file1.py
    • Чтобы запустить script_file2.py в Notebook2 (текущая записная книжка), код будет следующим: %run -b -c script_file2.py

Обозреватель переменных

Записные книжки Fabric предоставляют встроенный обозреватель переменных, который отображает список имен переменных, типа, длины и значения в текущем сеансе Spark для ячеек PySpark (Python). Дополнительные переменные отображаются автоматически, так как они определены в ячейках кода. Щелкнув каждый заголовок столбца, сортирует переменные в таблице.

Чтобы открыть или скрыть обозреватель переменных, выберите переменные в представлении ленты записной книжки.

Снимок экрана: место открытия переменных.

Примечание.

Обозреватель переменных поддерживает только Python.

Индикатор состояния ячейки

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

Снимок экрана: пример сведений о состоянии запуска ячейки.

Встроенный индикатор задания Spark

Записная книжка Fabric основана на Spark. Ячейки кода выполняются удаленно в кластере Spark. Индикатор хода выполнения задания Spark предоставляется с индикатором хода выполнения в режиме реального времени, который помогает понять состояние выполнения задания. Количество задач на каждом задании или этапе помогает определить параллельный уровень задания Spark. Вы можете глубже изучить пользовательский интерфейс Spark по определенному заданию или этапу, перейдя по ссылке на его имени.

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

Снимок экрана: сведения о ходе выполнения заданий Spark.

В дополнительных действиях можно легко перейти на страницу сведенийо приложении Spark и страницу веб-интерфейса Spark.

Снимок экрана: дополнительные сведения о действиях.

Скрытие секретов

Чтобы предотвратить случайное утечку учетных данных при выполнении записных книжек, записные книжки Fabric поддерживают повторное изменение секрета для замены значений секретов, отображаемых в выходных данных [REDACTED]ячейки. Секретное редактирование применимо для Python, Scala и R.

Снимок экрана: изменение секрета.

Волшебные команды в записной книжке

Встроенные волшебные команды

В записных книжках Fabric можно использовать знакомые волшебные команды Ipython. Просмотрите следующий список доступных в настоящее время магических команд.

Примечание.

Это единственные магические команды, поддерживаемые в конвейере Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Доступные команды магии строк: %lsmagic, %timeit, %timeit, %run, %load, %alias, %alias_magic, %autocit, %autocall, %autocall, %autocall, %cd, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logoff, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %prun, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, % rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who, %xdel, %xmode.

Записная книжка Fabric также поддерживает улучшенные команды управления библиотеками %pip и %conda. Дополнительные сведения об использовании см. в разделе "Управление библиотеками Apache Spark" в Microsoft Fabric.

Доступные магические команды ячеек: %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Пользовательские волшебные команды

Вы также можете создавать более пользовательские волшебные команды для удовлетворения конкретных потребностей. Приведем пример:

  1. Создайте записную книжку с именем MyLakehouseModule.

    Снимок экрана: определение пользовательской магии.

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

    Снимок экрана: использование пользовательской магии.

Мини-приложения IPython

Мини-приложения IPython — это объекты Python с событиями, которые имеют представление в браузере. Мини-приложения IPython можно использовать как элементы управления с низким кодом (например, ползунок или текстовое поле) в записной книжке, как и записная книжка Jupyter. В настоящее время он работает только в контексте Python.

Использование мини-приложений IPython

  1. Сначала импортируйте модуль ipywidgets, чтобы использовать платформу Мини-приложения Jupyter.

    import ipywidgets as widgets
    
  2. Используйте функцию отображения верхнего уровня, чтобы отобразить мини-приложение или оставить выражение типа мини-приложения в последней строке ячейки кода.

    slider = widgets.IntSlider()
    display(slider)
    
  3. Запустите ячейку. Мини-приложение отображается в области вывода.

    slider = widgets.IntSlider()
    display(slider)
    

    Снимок экрана: мини-приложение, отображаемое в области вывода.

  4. Используйте несколько вызовов display() для отображения одного экземпляра мини-приложения несколько раз. Они остаются синхронизированы друг с другом.

    slider = widgets.IntSlider()
    display(slider)
    display(slider)
    

    Снимок экрана: несколько раз одного мини-приложения.

  5. Для отрисовки двух мини-приложений независимо друг от друга создайте два экземпляра мини-приложений.

    slider1 = widgets.IntSlider()
    slider2 = widgets.IntSlider()
    display(slider1)
    display(slider2)
    

    Снимок экрана: несколько экземпляров мини-приложений.

Поддерживаемые мини-приложения

Тип мини-приложений Мини-приложения
Числовые мини-приложения IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Логические мини-приложения ToggleButton, Checkbox, Valid
Мини-приложения выбора Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Строковые мини-приложения Text, Text area, Combobox, Password, Label, HTML, HTML Math, Image, Button
Мини-приложения воспроизведения (анимации) Date picker, Color picker, Controller
Мини-приложения контейнера или макета Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked

Известные ограничения

  • Следующие мини-приложения пока не поддерживаются. Доступны следующие обходные пути.

    Функциональность Обходное решение
    Мини-приложение вывода Вместо этого можно использовать функцию print() для записи текста в stdout.
    widgets.jslink() Функцию widgets.link() можно использовать для связывания двух аналогичных мини-приложений.
    Мини-приложение FileUpload Функция пока не поддерживается.
  • Функция глобального отображения Fabric не поддерживает отображение нескольких мини-приложений в одном вызове (например, display(a, b)). Это поведение отличается от функции отображения IPython.

  • Если закрыть записную книжку, содержащую мини-приложение IPython, вы не сможете видеть или взаимодействовать с ней, пока не будет выполнена соответствующая ячейка еще раз.

Интеграция записной книжки

Назначение ячейки параметров

Чтобы параметризировать записную книжку, выберите многоточие (...), чтобы получить доступ к командам More на панели инструментов ячеек. Затем выберите Переключить ячейку параметра, чтобы назначить ячейку как ячейку параметров.

Снимок экрана, показывающий, где выбрать параметр ячейки параметра Toggle.

Ячейка параметра полезна для интеграции записной книжки в конвейер. Действие конвейера ищет ячейку параметров и обрабатывает эту ячейку как значение по умолчанию для параметров, переданных во время выполнения. Подсистема выполнения добавляет новую ячейку под ячейкой параметров с входными параметрами, чтобы перезаписать значения по умолчанию.

Назначение значений параметров из конвейера

После создания записной книжки с параметрами его можно выполнить из конвейера с помощью действия записной книжки Fabric. После добавления действия на холст конвейера можно задать значения параметров в разделе базовых параметров вкладки Параметры.

Снимок экрана: место назначения значений параметров из конвейера.

При назначении значений параметров можно использовать язык выражений конвейера или функции и переменные.

Магическая команда для настройки сеанса Spark

Вы можете персонализировать сеанс Spark с помощью волшебной команды %%configure. Записная книжка Fabric поддерживает настраиваемые виртуальные ядра, память драйвера и исполнителя, свойства 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", "472g"]
    "driverCores": 4, // Recommended values: [4, 8, 16, 32, 64, 80]
    "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": "<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>"
        },
    ],
    "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, используемый в mssparkutils.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 command, найдите дополнительные сведения об ошибке, запустив магическую ячейку %%configure в интерактивном режиме записной книжки.
  • Запланированные запуски записной книжки не поддерживают параметризованную конфигурацию сеанса.

Ведение журнала 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 , выполняемых в текущем сеансе, по сравнению со стандартной командой %history Jupyter Ipython, которая работает для нескольких языков контекста в записной книжке.

%history [-n] [range [range ...]]

Для параметров:

  • -n: номер выполнения печати.

Где может быть диапазон:

  • N: печать кода выполненной ячейки Nth .
  • M-N: печать кода из Mth в Nth выполненную ячейку.

Пример:

  • Печать журнала входных данных от 1-го до 2-го выполненного ячейки: %history -n 1-2

Сочетания клавиш

Аналогично Jupyter Notebook, записные книжки Fabric имеют модальный пользовательский интерфейс. Клавиатура выполняет разные действия в зависимости от того, в каком режиме находится ячейка записной книжки. Записные книжки Fabric поддерживают следующие два режима для заданной ячейки кода: режим команд и режим редактирования.

  • Ячейка находится в режиме командной строки, когда текстовый курсор не запрашивает ввод. Когда ячейка находится в режиме команд, вы можете редактировать записную книжку целиком, но не вводить ее в отдельные ячейки. Введите режим команд, нажав клавишу ESC или используя мышь, чтобы выбрать вне области редактора ячейки.

    Снимок экрана: ячейка в режиме команд.

  • Режим редактирования можно указать с текстового курсора, который предложит ввести в области редактора. Если ячейка находится в режиме редактирования, можно ввести в ячейку. Введите режим редактирования, нажав клавишу ВВОД или используя мышь, чтобы выбрать область редактора ячейки.

    Снимок экрана: ячейка в режиме редактирования.

Сочетания клавиш в режиме команды

Действие Сочетания клавиш записной книжки
Запуск текущей ячейки и выбор ниже SHIFT+ENTER
Запуск текущей ячейки и вставка ниже Alt+Ввод
Выполнение текущей ячейки CTRL + ВВОД
Выбор ячейки выше Up
Выбор ячейки ниже Down
Выбор предыдущей ячейки тыс.
Выбор следующей ячейки J
Вставка ячейки выше а
Вставка ячейки ниже Б
Удаление выбранных ячеек SHIFT +D
Переключение в режим правки Введите

Сочетания клавиш в режиме редактирования

Используя следующие сочетания клавиш, вы можете легко перемещаться и запускать код в записных книжках Fabric в режиме редактирования.

Действие Сочетания клавиш записной книжки
Перемещение курсора вверх Up
Перемещение курсора вниз Down
Отмена Ctrl+Z
Повторить CTRL+Y
Комментарий или раскомментировать CTRL+ /
Комментарий: CTRL + K + C
Раскомментируйте: CTRL+ K + U
Удаление слова перед Ctrl+Backspace
Удаление слова после Ctrl+Delete
Переход к началу ячейки Ctrl+Home
Передох к концу ячейки Ctrl+End
Переход на одно слово влево Ctrl+Left
Переход на одно слово вправо Ctrl+Right
Выделить все CTRL + A
Отступ Ctrl +]
Понижение уровня Ctrl+[
Переключение в режим команд ESC

Чтобы найти все сочетания клавиш, выберите "Вид " на ленте записной книжки и выберите "Keybindings".