Создание, разработка и обслуживание записных книжек Synapse
Записная книжка в Azure Synapse Analytics (записная книжка Synapse) — это веб-интерфейс для создания файлов, содержащих динамический код, визуализации и текст повествования. Записные книжки отлично подходят для проверки идей и использования быстрых экспериментов, чтобы получить аналитические сведения по данным. Записные книжки также широко используются в подготовке данных, визуализации данных, машинном обучении и других сценариях больших данных.
С помощью записной книжки Synapse можно выполнять следующие задачи.
- Начните работу, потратив минимум усилий на настройку.
- Помогите защитить данные с помощью встроенных функций безопасности предприятия.
- Анализ данных между необработанными форматами (например, CSV, TXT и JSON), обработанными форматами файлов (например, Parquet, Delta Lake и ORC), а также табличными файлами данных SQL для Spark и SQL.
- Повысьте продуктивность труда с расширенными возможностями разработки и встроенной визуализацией данных.
В этой статье описывается использование записных книжек в Synapse Studio.
Создание записной книжки
Вы можете создать новую записную книжку или импортировать существующую записную книжку в рабочую область Synapse из обозреватель объектов. Выберите меню "Разработка". + Нажмите кнопку и выберите "Записная книжка" или щелкните "Записные книжки" правой кнопкой мыши, а затем выберите "Создать записную книжку" или "Импортировать". Записные книжки Synapse распознают стандартные IPYNB-файлы Jupyter Notebook.
Разработка записных книжек
Записные книжки состоят из ячеек, которые являются отдельными блоками кода или текста, которые можно запускать независимо или как группу.
В следующих разделах описаны операции разработки записных книжек:
- Добавление ячейки
- Настройка основного языка
- Использование нескольких языков
- Использование временных таблиц для ссылки на данные на разных языках
- Использование IntelliSense в стиле IDE
- Использование фрагментов кода
- Форматирование текстовых ячеек с помощью кнопок панели инструментов
- Отмена или повторение операции ячейки
- Комментарий к ячейке кода
- Перемещение ячейки
- Копирование ячейки
- Удаление ячейки
- Свернуть входные данные ячейки
- Свернуть выходные данные ячейки
- Использование структуры записной книжки
Примечание.
В записных книжках SparkSession
экземпляр создается автоматически и хранится в переменной с именем spark
. Существует также переменная для SparkContext
вызова sc
. Пользователи могут получить доступ к этим переменным напрямую, но не должны изменять значения этих переменных.
Добавление ячейки
Существует несколько способов добавления новой ячейки в записную книжку:
Наведите указатель мыши между двумя ячейками и выберите Код или Markdown.
Используйте сочетания клавиш в командном режиме. Выберите клавишу A, чтобы вставить ячейку над текущей ячейкой. Выберите клавишу B, чтобы вставить ячейку под текущей ячейкой.
Настройка основного языка
Записные книжки Synapse поддерживают четыре языка Apache Spark:
- PySpark (Python)
- Spark (Scala)
- SQL Spark
- .NET Spark (C#)
- SparkR (R)
Вы можете задать основной язык для только что добавленных ячеек из раскрывающегося списка языков на верхней панели команд.
Использование нескольких языков
В одной записной книжке можно использовать несколько языков, указав магическую языковую команду в начале ячейки. В следующей таблице перечислены магические команды, которые используются для переключения языков ячеек.
Магические команды | Язык | Description |
---|---|---|
%%pyspark |
Python | Выполните запрос Python для SparkContext . |
%%spark |
Scala | Выполните запрос Scala для SparkContext . |
%%sql |
SQL Spark | Выполните sql-запрос Spark для SparkContext . |
%%csharp |
.NET для Spark C# | Выполните запрос SparkContext .NET для Spark C#. |
%%sparkr |
R | Выполните запрос R для SparkContext . |
На следующем рисунке показан пример того, как можно написать запрос PySpark с помощью %%pyspark
волшебной команды или запроса Spark SQL с помощью %%sql
волшебной команды в записной книжке Spark (Scala). Основной язык записной книжки имеет значение PySpark.
Использование временных таблиц для ссылки на данные на разных языках
Вы не можете ссылаться на данные или переменные непосредственно на разных языках в записной книжке Synapse. В Spark можно ссылаться на временную таблицу на разных языках. Ниже приведен пример чтения кадра данных Scala в PySpark и Spark SQL с помощью временной таблицы Spark в качестве обходного решения:
В ячейке 1 считывает кадр данных из соединителя пула SQL с помощью Scala и создает временную таблицу:
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
В ячейке 2 запросите данные с помощью Spark SQL:
%%sql SELECT * FROM mydataframetable
В ячейке 3 используйте данные в PySpark:
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
Использование IntelliSense в стиле IDE
Записные книжки Synapse интегрированы с редактором Monaco, что позволяет работать с функцией IntelliSense в IDE в редакторе ячеек. Функции выделения синтаксиса, маркера ошибки и автоматического завершения кода помогают быстрее писать код и выявлять проблемы.
Возможности IntelliSense находятся на разных уровнях зрелости для разных языков. В приведенной ниже таблице приведены сведения о поддерживаемых функциях.
Языки | Подсветка синтаксиса | Маркер синтаксической ошибки | Завершение кода синтаксиса | Завершение кода переменной | Завершение кода системной функции | Завершение кода пользовательской функции | Смарт-отступ | Свертывание кода |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Да | Да | Да | Да | Да | Да | Да | Да |
Spark (Scala) | Да | Да | Да | Да | Да | Да | No | Да |
SQL Spark | Да | Да | Да | Да | Да | No | No | No |
.NET для Spark C# | Да | Да | Да | Да | Да | Да | Да | Да |
Активный сеанс Spark необходим для получения преимуществ от завершения кода переменной, завершения системного кода функции и завершения пользовательского кода функции для .NET для Spark (C#).
Использование фрагментов кода
Записные книжки Synapse предоставляют фрагменты кода, упрощающие ввод часто используемых шаблонов кода. Эти шаблоны включают настройку сеанса Spark, чтение данных в виде кадра данных Spark и рисование диаграмм с помощью Matplotlib.
Фрагменты кода отображаются в сочетаниях клавиш в стиле IDE IntelliSense , смешанных с другими предложениями. Содержимое фрагментов кода соответствует языку ячейки кода. Доступные фрагменты можно увидеть, введя фрагмент кода или все ключевые слова, которые отображаются в заголовке фрагмента кода в редакторе ячеек кода. Например, введя чтение, можно просмотреть список фрагментов для чтения данных из различных источников данных.
Форматирование текстовых ячеек с помощью кнопок панели инструментов
Для выполнения распространенных действий Markdown можно использовать кнопки форматирования на панели инструментов текстовой ячейки. К этим действиям относятся создание полужирного текста, создание текстовых курсивов, создание абзацев и заголовков с помощью раскрывающегося меню, вставка кода, вставка неупорядоченного списка, вставка упорядоченного списка, вставка гиперссылки и вставка изображения из URL-адреса.
Отмена или повторение операции ячейки
Чтобы отменить последние операции ячейки, нажмите кнопку "Отменить" или "Повторить" или нажмите клавишу Z или SHIFT+Z. Теперь можно отменить или повторить до 10 исторических операций ячеек.
К поддерживаемым операциям ячеек относятся:
- Вставка или удаление ячейки. Операции удаления можно отменить, выбрав "Отменить". Это действие сохраняет текстовое содержимое вместе с ячейкой.
- Изменение порядка ячеек.
- Включите или отключите ячейку параметра.
- Преобразование между ячейкой кода и ячейкой Markdown.
Примечание.
Вы не можете отменить текстовые операции или операции комментариев в ячейке.
Комментарий к ячейке кода
Нажмите кнопку "Примечания" на панели инструментов записной книжки, чтобы открыть панель "Комментарии".
Выберите код в ячейке кода, выберите "Создать " на панели "Примечания ", добавьте комментарии и нажмите кнопку "Опубликовать комментарий ".
При необходимости вы можете выполнить редактирование комментариев, разрешить поток и удалить действия потока , выбрав рядом с комментарием многоточие (...).
Перемещение ячейки
Чтобы переместить ячейку, выберите левую сторону ячейки и перетащите ячейку в нужное положение.
Копирование ячейки
Чтобы скопировать ячейку, сначала создайте новую ячейку, а затем выделите весь текст в исходной ячейке, скопируйте текст и вставьте его в новую ячейку. Если ячейка находится в режиме редактирования, традиционные сочетания клавиш для выбора всего текста ограничены ячейкой.
Совет
Записные книжки Synapse также предоставляют фрагменты часто используемых шаблонов кода.
Удаление ячейки
Чтобы удалить ячейку, нажмите кнопку "Удалить " справа от ячейки.
Вы также можете использовать сочетания клавиш в режиме команды. Выберите SHIFT+D, чтобы удалить текущую ячейку.
Свернуть входные данные ячейки
Чтобы свернуть входные данные текущей ячейки, выберите кнопку "Дополнительные команды " многоточие (...) на панели инструментов ячейки и нажмите кнопку "Скрыть входные данные". Чтобы развернуть входные данные, выберите "Показать входные данные " во время сворачивания ячейки.
Свернуть выходные данные ячейки
Чтобы свернуть выходные данные текущей ячейки, выберите кнопку "Дополнительные команды" многоточие (...) на панели инструментов ячейки и нажмите кнопку "Скрыть выходные данные". Чтобы развернуть выходные данные, выберите "Показать выходные данные " во время скрытия выходных данных ячейки.
Использование структуры записной книжки
Структура (оглавление) представляет первый заголовок Markdown любой ячейки Markdown в боковом окне для быстрой навигации. Боковая панель контура может изменяться и сворачиваема, чтобы лучше всего подходить к экрану. Чтобы открыть или скрыть боковую панель, нажмите кнопку "Структура " на панели команд записной книжки.
Запуск записной книжки
Вы можете выполнять ячейки кода в записной книжке по отдельности или все сразу. Состояние и ход выполнения каждой ячейки отображаются в записной книжке.
Примечание.
Удаление записной книжки не отменяет автоматически выполняемые задания. Если вам нужно отменить задание, перейдите в центр мониторинга и отмените его вручную.
Выполнение ячейки
Существует несколько способов запуска кода в ячейке:
Наведите указатель мыши на ячейку, которую вы хотите запустить, и нажмите кнопку "Запустить ячейку " или нажмите клавиши CTRL+ВВОД.
Используйте сочетания клавиш в командном режиме. Нажмите клавиши SHIFT+ВВОД, чтобы запустить текущую ячейку и выберите под ней ячейку. Нажмите клавиши ALT+ВВОД, чтобы запустить текущую ячейку и вставить новую ячейку под ней.
Выполнение всех ячеек
Чтобы запустить все ячейки в текущей записной книжке в последовательности, нажмите кнопку "Выполнить все ".
Выполнение всех ячеек выше или ниже
Чтобы запустить все ячейки над текущей ячейкой в последовательности, разверните раскрывающийся список для кнопки "Запустить все ", а затем выберите "Выполнить ячейки выше". Выберите "Выполнить ячейки ниже ", чтобы запустить все ячейки ниже текущей последовательности.
Отмена выполнения всех ячеек
Чтобы отменить выполняемые ячейки или ячейки, ожидающие в очереди, нажмите кнопку "Отменить все ".
Ссылка на записную книжку
Чтобы ссылаться на другую записную книжку в контексте текущей записной книжки, используйте магическую %run <notebook path>
команду. Все переменные, определенные в записной книжке, переход к которой выполняется по ссылке, доступны в текущей записной книжке.
Приведем пример:
%run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Ссылка на записную книжку работает как в интерактивном режиме, так и в конвейерах.
Магическая %run
команда имеет следующие ограничения:
- Команда поддерживает вложенные вызовы, но не рекурсивные вызовы.
- Команда поддерживает передачу абсолютного пути или имени записной книжки только в качестве параметра. Он не поддерживает относительные пути.
- В настоящее время команда поддерживает только четыре типа значений параметров:
int
, ,float
bool
иstring
. Он не поддерживает операции замены переменных. - Записные книжки, на которые ссылается ссылка, должны быть опубликованы. Чтобы ссылаться на них, необходимо опубликовать записные книжки, если вы не можете включить ссылку на неопубликованную записную книжку. Synapse Studio не распознает неопубликованные записные книжки из репозитория Git.
- Указанные записные книжки не поддерживают глубину инструкций размером более пяти.
Использование обозревателя переменных
Записная книжка Synapse предоставляет встроенный обозреватель переменных в виде таблицы, которая перечисляет переменные в текущем сеансе Spark для ячеек PySpark (Python). Таблица содержит столбцы для имени переменной, типа, длины и значения. Дополнительные переменные отображаются автоматически, так как они определены в ячейках кода. Выбор каждого заголовка столбца сортирует переменные в таблице.
Чтобы открыть или скрыть обозреватель переменных, нажмите кнопку "Переменные " на панели команд записной книжки.
Примечание.
Обозреватель переменных поддерживает только Python.
Использование индикатора состояния ячейки
Пошаговые состояния выполнения ячейки отображаются под ячейкой, чтобы помочь вам увидеть текущий ход выполнения. После завершения выполнения ячейки появится сводка с общей длительностью и временем окончания и остается там для будущей ссылки.
Использование индикатора хода выполнения Spark
Записная книжка Synapse основана исключительно на Spark. Ячейки кода выполняются удаленно в бессерверном пуле Apache Spark. Индикатор хода выполнения задания Spark с индикатором хода выполнения в режиме реального времени помогает понять состояние выполнения задания.
Количество задач для каждого задания или этапа помогает определить параллельный уровень задания Spark. Вы можете глубже изучить пользовательский интерфейс Spark по определенному заданию или этапу, перейдя по ссылке на его имени.
Настройка сеанса Spark
На панели "Настройка сеанса", которую можно найти, выбрав значок шестеренки в верхней части записной книжки, можно указать длительность ожидания, количество исполнителей и размер исполнителей для передачи текущему сеансу Spark. Перезапустите сеанс Spark, чтобы изменения конфигурации вступили в силу. Все кэшированные переменные записной книжки очищаются.
Вы также можете создать конфигурацию из конфигурации Apache Spark или выбрать существующую. Дополнительные сведения см. в разделе "Управление конфигурацией Apache Spark".
Волшебная команда для настройки сеанса Spark
Вы также можете указать параметры сеанса Spark с помощью волшебной команды %%configure
. Чтобы сделать параметры вступили в силу, перезапустите сеанс Spark.
Рекомендуется запустить %%configure
в начале записной книжки. Вот пример. Полный список допустимых параметров см . в сведениях о Livy на сайте GitHub.
%%configure
{
//You can get a list of valid parameters to configure 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 a standard Spark property. To find more available properties, go to https://spark.apache.org/docs/latest/configuration.html#application-properties.
"spark.driver.maxResultSize":"10g",
//Example of a customized property. You can specify the count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows":"3000"
}
}
Ниже приведены некоторые рекомендации по магической команде %%configure
:
- Мы рекомендуем использовать одно и то же значение для
driverMemory
иexecutorMemory
в%%configure
. Мы также рекомендуемdriverCores
использовать иexecutorCores
иметь то же значение. - Вы можете использовать
%%configure
в конвейерах Synapse, но если он не задан в первой ячейке кода, запуск конвейера завершится ошибкой, так как он не может перезапустить сеанс. - Команда
%%configure
, используемая в ней, игнорируется, но команда, используемая вmssparkutils.notebook.run
%run <notebook>
продолжении выполнения. - В тексте необходимо использовать стандартные
"conf"
свойства конфигурации Spark. Мы не поддерживаем ссылки на первый уровень для свойств конфигурации Spark. - Некоторые специальные свойства Spark не вступают в силу в
"conf"
тексте, включая"spark.driver.cores"
,"spark.executor.cores"
,"spark.driver.memory"
и"spark.executor.memory"
"spark.executor.instances"
.
Параметризованная конфигурация сеанса из конвейера
Для замены значений в волшебной команде %%configure
можно использовать параметризованную конфигурацию сеанса с параметрами запуска конвейера (действие записной книжки). При подготовке %%configure
ячейки кода можно переопределить значения по умолчанию с помощью объекта, как показано ниже:
{
"activityParameterName": "parameterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParameterFromPipelineNotebookActivity"
}
В следующем примере показаны значения 4
по умолчанию и "2000"
настраиваемые значения.
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
Записная книжка использует значение по умолчанию при запуске записной книжки в интерактивном режиме напрямую или если действие записной книжки конвейера не предоставляет соответствующий параметр "activityParameterName"
.
В режиме выполнения конвейера можно использовать вкладку "Параметры" для настройки параметров для действия записной книжки конвейера.
Если вы хотите изменить конфигурацию сеанса, имя параметра действия записной книжки конвейера должно совпадать с activityParameterName
именем записной книжки. В этом примере во время выполнения 8
конвейера заменяются и 4000
заменяются %%configure
driverCores
livy.rsc.sql.num-rows
.
Если выполнение конвейера завершается сбоем после использования %%configure
волшебной команды, вы можете получить дополнительные сведения об ошибке, запустив %%configure
волшебную ячейку в интерактивном режиме записной книжки.
Перенесение данных в записную книжку
Вы можете загрузить данные из Azure Data Lake Storage 2-го поколения, Хранилище BLOB-объектов Azure и пулов SQL, как показано в следующих примерах кода.
Чтение CSV-файла из Azure Data Lake Storage 2-го поколения в виде кадра данных Spark
from pyspark.sql import SparkSession
from pyspark.sql.types import *
account_name = "Your account name"
container_name = "Your container name"
relative_path = "Your path"
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)
df1 = spark.read.option('header', 'true') \
.option('delimiter', ',') \
.csv(adls_path + '/Testfile.csv')
Чтение CSV-файла из Хранилище BLOB-объектов Azure в виде кадра данных Spark
from pyspark.sql import SparkSession
# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name
blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)
# Allow Spark to access from Azure Blob Storage remotely
wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)
df = spark.read.option("header", "true") \
.option("delimiter","|") \
.schema(schema) \
.csv(wasbs_path)
Считывание данных из основной учетной записи хранения
Доступ к данным можно получить в основной учетной записи хранения напрямую. Нет необходимости предоставлять секретные ключи. В обозревателе данных щелкните правой кнопкой мыши файл и выберите новую записную книжку, чтобы увидеть новую записную книжку с автоматически созданным средство извлечения данных.
Использование мини-приложений IPython
Мини-приложения — это события объектов Python, которые имеют представление в браузере, часто как ползунок или текстовое поле. Мини-приложения IPython работают только в средах Python. В настоящее время они не поддерживаются на других языках (например, Scala, SQL или C#).
Действия по использованию мини-приложений IPython
ipywidgets
Импортируйте модуль для использования платформы Jupyter Widgets:import ipywidgets as widgets
Используйте функцию верхнего уровня
display
, чтобы отобразить мини-приложение или оставить выражениеwidget
типа в последней строке ячейки кода:slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() 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 |
Логический | 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 |
Известные ограничения
В следующей таблице перечислены мини-приложения, которые сейчас не поддерживаются, а также обходные пути.
Функция Обходное решение Мини-приложение Output
Вместо этого можно использовать функцию print()
для записи текста вstdout
.widgets.jslink()
Функцию widgets.link()
можно использовать для связывания двух аналогичных мини-приложений.Мини-приложение FileUpload
Недоступно. Глобальная
display
функция, которая предоставляет Azure Synapse Analytics, не поддерживает отображение нескольких мини-приложений в одном вызове (тdisplay(a, b)
. е. ). Это поведение отличается от функции IPythondisplay
.Если закрыть записную книжку, содержащую мини-приложение IPython, вы не сможете просматривать или взаимодействовать с мини-приложением, пока не запустите соответствующую ячейку еще раз.
Сохранение записных книжек
Вы можете сохранить одну записную книжку или все записные книжки в рабочей области:
Чтобы сохранить изменения, внесенные в одну записную книжку, нажмите кнопку "Опубликовать " на панели команд записной книжки.
Чтобы сохранить все записные книжки в рабочей области, нажмите кнопку Опубликовать все на панели команд рабочей области.
На панели свойств записной книжки можно настроить включение выходных данных ячейки при сохранении.
Использование магических команд
В записных книжках Synapse вы можете использовать привычные магические команды Jupyter. Просмотрите следующие списки доступных в настоящее время магических команд. Расскажите нам варианты использования на сайте GitHub , чтобы мы могли продолжать создавать более волшебные команды в соответствии с вашими потребностями.
Примечание.
В конвейерах Synapse поддерживаются только следующие магические команды: %%pyspark
, %%spark
, %%csharp
. %%sql
Доступные магические команды для строк:
%lsmagic
, , %time
%history
%timeit
%run
,%load
Доступные магические команды для ячеек:
%%time
, %%timeit
, %%capture
%%writefile
%%sql
%%pyspark
%%spark
%%csharp
%%html
%%configure
Ссылка на неопубликованную записную книжку
Ссылка на неопубликованную записную книжку полезна при локальной отладке. При включении этой функции записная книжка выполняет получение текущего содержимого в веб-кэше. Если вы запускаете ячейку со ссылкой на инструкцию записной книжки, вы ссылаетесь на записные книжки в текущем браузере записных книжек вместо сохраненной версии в кластере. Другие записные книжки могут ссылаться на изменения в редакторе записных книжек, не требуя публикации (режим реального времени) или фиксации изменений (режим Git). С помощью этого подхода можно предотвратить загрязнение общих библиотек во время процесса разработки или отладки.
Вы можете включить ссылку на неопубликованную записную книжку, установив соответствующий флажок на панели свойств .
В следующей таблице сравниваются случаи. Хотя %run и mssparkutils.notebook.run имеют то же поведение здесь, таблица используется %run
в качестве примера.
Регистр | Отключить | Включить |
---|---|---|
Режим реального времени | ||
Nb1 (опубликовано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск опубликованной версии Nb1 |
Nb1 (новое) %run Nb1 |
Ошибка | Запустить новую Nb1 |
Nb1 (ранее опубликовано, изменено) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск измененной версии Nb1 |
Режим Git | ||
Nb1 (опубликовано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск опубликованной версии Nb1 |
Nb1 (новое) %run Nb1 |
Ошибка | Запустить новую Nb1 |
Nb1 (не опубликовано, зафиксировано) %run Nb1 |
Ошибка | Запуск зафиксированной Nb1 |
Nb1 (ранее опубликовано, зафиксировано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск зафиксированной версии Nb1 |
Nb1 (ранее опубликовано, новое в текущей ветви) %run Nb1 |
Запуск опубликованной версии Nb1 | Запустить новую Nb1 |
Nb1 (не опубликовано, ранее зафиксировано, изменено) %run Nb1 |
Ошибка | Запуск измененной версии Nb1 |
Nb1 (ранее опубликовано и зафиксировано, изменено) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск измененной версии Nb1 |
Сводка:
- Если вы отключите ссылку на неопубликованную записную книжку, всегда запустите опубликованную версию.
- Если включить ссылку на неопубликованную записную книжку, ссылка всегда принимает текущую версию записной книжки, которая отображается в пользовательском интерфейсе записной книжки.
Управление активными сеансами
Вы можете повторно использовать сеансы записной книжки, не запуская новые сеансы. В записных книжках Synapse можно управлять активными сеансами в одном списке. Чтобы открыть список, выберите многоточие (...) и выберите пункт "Управление сеансами".
В области "Активные сеансы " перечислены все сеансы в текущей рабочей области, запущенной из записной книжки. В списке отображаются сведения о сеансе и соответствующие записные книжки. Отсоединение с записной книжкой, остановка сеанса и просмотр действий мониторинга доступны здесь. Кроме того, вы можете подключить выбранную записную книжку к активному сеансу, запущенному из другой записной книжки. Затем сеанс отсоединяется от предыдущей записной книжки (если она не неактивна) и подключена к текущей.
Использование журналов 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 the 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 uses 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 uses 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")
Просмотр журнала входных команд
Записные книжки Synapse поддерживают волшебную команду %history
для печати журнала входных команд для текущего сеанса. Магическая %history
команда аналогична стандартной команде Jupyter IPython и работает для нескольких контекстов языка в записной книжке.
%history [-n] [range [range ...]]
В приведенном выше коде -n
указан номер выполнения печати. Значение range
может быть следующим:
N
: печать кода выполняемойNth
ячейки.M-N
: печать кода изMth
исполняемой ячейкиNth
.
Например, чтобы распечатать журнал входных данных от первой до второй выполненной ячейки, используйте %history -n 1-2
.
Интеграция записной книжки
Добавление записной книжки в конвейер
Чтобы добавить записную книжку в существующий конвейер или создать новый конвейер, нажмите кнопку "Добавить к конвейеру " в правом верхнем углу.
Назначение ячейки параметра
Чтобы параметризировать записную книжку, выберите многоточие (...), чтобы получить доступ к дополнительным командам на панели инструментов ячеек. Затем выберите ячейку параметра Toggle, чтобы назначить ячейку в качестве ячейки параметра.
Фабрика данных Azure ищет ячейку параметра и обрабатывает эту ячейку как значение по умолчанию для параметров, переданных во время выполнения. Подсистема выполнения добавляет новую ячейку под ячейкой параметра с входными параметрами для перезаписи значений по умолчанию.
Назначение значений параметров из конвейера
После создания записной книжки с параметрами его можно запустить из конвейера с помощью действия записной книжки Synapse. После добавления действия на холст конвейера можно задать значения параметров в разделе "Базовые параметры" на вкладке "Параметры".
При назначении значений параметров можно использовать язык выражений конвейера или системные переменные.
Использование сочетаний клавиш
Аналогично Jupyter Notebook, в записных книжках Synapse есть модальный пользовательский интерфейс. Клавиатура выполняет различные действия в зависимости от режима ячейки записной книжки. Записные книжки Synapse поддерживают следующие два режима для ячейки кода:
Режим команд. Ячейка находится в режиме команды, если текстовый курсор не запрашивает ввод. Если ячейка находится в командном режиме, вы можете изменить записную книжку в целом, но не вводить в отдельные ячейки. Введите режим команд, выбрав клавишу ESC или с помощью мыши, чтобы выбрать вне области редактора ячейки.
Режим редактирования: если ячейка находится в режиме редактирования, текстовый курсор предложит ввести в ячейку. Введите режим редактирования, выбрав клавишу ВВОД или с помощью мыши, чтобы выбрать область редактора ячейки.
Сочетания клавиш в режиме команды
Действие | Ярлык записной книжки Synapse |
---|---|
Запуск текущей ячейки и выбор ниже | SHIFT+ENTER |
Запуск текущей ячейки и вставка ниже | Alt+Ввод |
Выполнение текущей ячейки | CTRL + ВВОД |
Выбор ячейки выше | Up |
Выбор ячейки ниже | Down |
Выбор предыдущей ячейки | тыс. |
Выбор следующей ячейки | J |
Вставка ячейки выше | а |
Вставка ячейки ниже | Б |
Удаление выбранных ячеек | Shift+D |
Переключение в режим правки | Введите |
Сочетания клавиш в режиме редактирования
Действие | Ярлык записной книжки Synapse |
---|---|
Перемещение курсора вверх | Up |
Перемещение курсора вниз | Down |
Отмена | CTRL+Z |
Повторить | CTRL+Y |
Добавление и удаление комментариев | CTRL+/ |
Удаление слова перед | CTRL+BACKSPACE |
Удаление слова после | CTRL+DELETE |
Переход к началу ячейки | Ctrl+Home |
Передох к концу ячейки | Ctrl+End |
Переход на одно слово влево | CTRL+LEFT |
Переход на одно слово вправо | CTRL+RIGHT |
Выделить все | CTRL+A |
Отступ | CTRL+] |
Понижение уровня | CTRL+[ |
Переключение в режим команд | ESC |
Связанный контент
- Примеры записных книжек Synapse
- Краткое руководство. Создание пула Apache Spark в Azure Synapse Analytics с помощью веб-инструментов
- Что такое Apache Spark в Azure Synapse Analytics?
- Использование .NET для Apache Spark с помощью Azure Synapse Analytics
- Документация по .NET для Apache Spark
- Документация по Azure Synapse Analytics