Создание, разработка и обслуживание записных книжек Synapse в Azure Synapse Analytics
Записная книжка Synapse — это веб-интерфейс, позволяющий создавать файлы, содержащие рабочий код, визуализации и текст описания. Записные книжки отлично подходят для проверки идей и использования быстрых экспериментов, чтобы получить аналитические сведения по данным. Они также широко используются при подготовке и визуализации данных, машинном обучении и других сценариях с большими данными.
С помощью записной книжки Synapse можно выполнять следующие задачи.
- Начните работу, потратив минимум усилий на настройку.
- Обеспечьте безопасность данных благодаря встроенным функциям безопасности предприятия.
- Анализируйте данные в необработанных форматах (CSV, txt, JSON и т. д.), обработанных форматах файлов (parquet, Delta Lake, ORC и т. д.) и файлах табличных данных SQL с использованием Spark и SQL.
- Повысьте продуктивность труда с расширенными возможностями разработки и встроенной визуализацией данных.
В этой статье описывается использование записных книжек в Synapse Studio.
Создание записной книжки
Существует два способа создания записной книжки. Вы можете создать записную книжку или импортировать имеющуюся записную книжку в рабочую область Synapse из обозревателя объектов. Записные книжки Synapse распознают стандартные IPYNB-файлы Jupyter Notebook.
Разработка записных книжек
Записные книжки состоят из ячеек, являющихся отдельными блоками кода или текста, которые можно запускать независимо или в группе.
Мы предоставляем широкие возможности для разработки записных книжек.
- Добавление ячейки
- Настройка основного языка
- Использование нескольких языков
- Использование временных таблиц для ссылки на данные на разных языках
- IDE в стиле IntelliSense
- Фрагменты кода
- Форматирование текстовой ячейки с кнопками панели инструментов
- Отменить или повторить операцию с ячейкой
- Комментирование ячейки кода
- Перемещение ячейки
- Удаление ячейки
- Свернуть входные данные ячейки
- Свернуть выходные данные ячейки
- Структура записной книжки
Примечание.
В записных книжках автоматически создается SparkSession, хранящийся в переменной с именем spark
. Кроме того, существует переменная для SparkContext, которая называется sc
. Пользователи могут получить доступ к этим переменным напрямую и не должны изменять значения этих переменных.
Добавление ячейки
Существует несколько способов добавить в записную книжку новую ячейку.
Наведите указатель мыши между двумя ячейками и выберите Код или Markdown.
Используйте сочетание клавиш aznb в режиме команд. Нажмите клавишу A, чтобы вставить ячейку над текущей ячейкой. Нажмите клавишу B, чтобы вставить ячейку под текущей ячейкой.
Установка основного языка
Записные книжки Synapse поддерживают четыре языка Apache Spark:
- PySpark (Python)
- Spark (Scala)
- SQL Spark
- .NET Spark (C#)
- SparkR (R)
Установить основной язык для новых добавленных ячеек можно из раскрывающегося списка на верхней панели команд.
Использование нескольких языков
В одной записной книжке можно использовать несколько языков, указав магическую языковую команду в начале ячейки. В следующей таблице перечислены магические команды, которые используются для переключения языков ячеек.
Магические команды | Язык | Description |
---|---|---|
%%pyspark | Python | Выполните запрос Python к контексту Spark. |
%%spark | Scala | Выполните запрос Scala к контексту Spark. |
%%sql | SparkSQL | Выполните запрос SparkSQL к контексту Spark. |
%%csharp | .NET для Spark C# | Выполните запрос .NET для Spark C# к контексту Spark. |
%%sparkr | R | Выполните запрос R к контексту Spark. |
На следующем рисунке показан пример того, как можно написать запрос PySpark с помощью магической команды %%pyspark или запроса SparkSQL с магической командой %%sql в записной книжке Spark(Scala). Обратите внимание, что основным языком для записной книжки является pySpark.
Использование временных таблиц для ссылки на данные на разных языках
В записной книжке Synapse вы не можете ссылаться на данные или переменные напрямую на разных языках. В Spark на временную таблицу можно ссылаться на разных языках. Ниже приведен пример того, как прочитать Scala
DataFrame в PySpark
и SparkSQL
, используя в качестве обходного решения временную таблицу Spark.
В ячейке 1 выполните чтение DataFrame из соединителя пула SQL с помощью Scala и создайте временную таблицу.
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
В ячейке 2 выполните запрос на данные с помощью SQL Spark.
%%sql SELECT * FROM mydataframetable
В ячейке 3 используйте данные в PySpark.
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
Функция IntelliSense в IDE
Записные книжки Synapse интегрированы с редактором Monaco, что позволяет работать с функцией IntelliSense в IDE в редакторе ячеек. Выделение синтаксиса, маркер ошибок и автоматическое завершение кода помогут быстрее написать код и определить проблемы.
Возможности IntelliSense находятся на разных уровнях зрелости для разных языков. В приведенной ниже таблице приведены сведения о поддерживаемых функциях.
Языки | Выделение синтаксиса | Маркер синтаксических ошибок | Завершение кода синтаксиса | Завершение кода переменной | Завершение кода системной функции | Завершение кода пользовательской функции | Автоматический отступ | Свертывание кода |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Да | Да | Да | Да | Да | Да | Да | Да |
Spark (Scala) | Да | Да | Да | Да | Да | Да | - | Да |
SparkSQL | Да | Да | Да | Да | Да | - | - | - |
.NET для Spark C# | Да | Да | Да | Да | Да | Да | Да | Да |
Примечание.
Активный сеанс Spark необходим для использования завершения кода переменной, завершения кода системной функции, завершения кода пользовательской функции для .NET для Spark (C#).
Фрагменты кода
Записные книжки Synapse предоставляют фрагменты кода, которые упрощают ввод часто используемых шаблонов кода, таких как настройка сеанса Spark, чтение данных в виде Spark DataFrame или рисование диаграмм с помощью matplotlib и пр.
Фрагменты появляются в разделе Сочетания клавиш IntelliSense в стиле IDE вместе с другими предложениями. Содержимое фрагментов кода соответствует языку ячеек с кодом. Чтобы просмотреть доступные фрагменты кода, введите слово Snippet (фрагмент кода) или любое ключевое слово, указанное в заголовке фрагмента кода в редакторе ячеек с кодом. Например, при вводе слова read можно просмотреть список фрагментов кода для чтения данных из разных источников данных.
Форматирование текстовой ячейки с помощью кнопок панели инструментов
Для выполнения общих действий markdown можно использовать кнопки форматирования на панели инструментов текстовых ячеек. Они включают выделение текста полужирным шрифтом, выделение курсивом, абзацы или заголовки в виде раскрывающегося списка, вставку кода, вставку неупорядоченного списка, вставку упорядоченного списка, вставку гиперссылки, а также вставку изображения из URL.
Отменить или повторить операцию с ячейкой
Щелкните Отменить / Повторить или нажмите Z / Shift + Z, чтобы отменить самые последние операции с ячейками. Теперь вы можете отменить/повторить до 10 последних исторических операций с ячейками.
Поддерживаемые операции с ячейками отмены
- Вставка и удаление ячейки: можно отменить операции удаления, выбрав "Отменить", текстовое содержимое хранится вместе с ячейкой.
- Реорганизовать ячейку.
- Переключить параметр.
- Выполнить преобразование между ячейкой кода и ячейкой Markdown.
Примечание.
Операции с текстом внутри ячейки и операции комментирования ячеек кода нельзя отменить. Теперь вы можете отменить/повторить до 10 последних исторических операций с ячейками.
Комментирование ячейки кода
Нажмите кнопку Комментарии на панели инструментов записной книжки, чтобы открыть панель Комментарии.
Выберите код в ячейке кода, нажмите Создать на панели Комментарии, добавьте комментарии, затем нажмите кнопку Опубликовать комментарий, чтобы сохранить.
Вы можете выполнить операции Редактировать комментарий, Разрешить ветку или Удалить ветку, нажав кнопку Еще рядом с вашим комментарием.
Перемещение ячейки
Щелкните левую часть ячейки и перетащите ее в нужное место.
Удаление ячейки
Чтобы удалить ячейку, нажмите кнопку удаления в правой части ячейки.
Вы также можете использовать сочетания клавиш в режиме команд. Нажмите Shift+D, чтобы удалить текущую ячейку.
Сворачивание входных данных ячейки
Нажмите кнопку с многоточием (...) Другие команды на панели инструментов ячейки и Скрыть ввод, чтобы свернуть поле ввода для текущей ячейки. Чтобы развернуть его, выберите Показать ввод, когда ячейка свернута.
Сворачивание выходных данных ячейки
Нажмите кнопку с многоточием (...) Другие команды на панели инструментов ячейки и Скрыть вывод, чтобы свернуть поле вывода для текущей ячейки. Чтобы развернуть его, нажмите Показать выво, когда поле вывода ячейки скрыто.
Структура записной книжки
На боковой панели структуры (оглавления) для быстрой навигации представлен первый заголовок Markdown любой ячейки Markdown. Вы можете изменить размер боковой панели "Структура" или свернуть ее, чтобы выбрать подходящий вариант отображения. Можно нажать кнопку Структура на панели команд записной книжки, чтобы открыть или скрыть боковую панель
Выполнение записных книжек
Вы можете выполнять ячейки кода в записной книжке по отдельности или все сразу. Состояние и ход выполнения каждой ячейки представлены в записной книжке.
Выполнение ячейки
Есть несколько способов запустить код в ячейке.
Наведите указатель мыши на необходимую ячейку и нажмите кнопку Выполнить ячейку или нажмите клавиши CTRL+ВВОД.
Используйте сочетания клавиш в режиме команд. Нажмите клавиши SHIFT+ВВОД, чтобы выполнить текущую ячейку и выбрать ячейку ниже. Нажмите клавиши ALT+ВВОД, чтобы выполнить текущую ячейку и вставить новую ячейку ниже.
Выполнение всех ячеек
Нажмите кнопку Выполнить все, чтобы последовательно выполнить все ячейки в текущей записной книжке.
Выполнение всех ячеек выше или ниже
Разверните раскрывающийся список с помощью кнопки Выполнить все, затем выберите Выполнить ячейки выше, чтобы последовательно выполнить все ячейки, расположенные выше текущей. Выберите Run cells below (Выполнить ячейки ниже), чтобы последовательно запустить все ячейки ниже текущей.
Отмена выполнения всех ячеек
Нажмите кнопку Отменить все, чтобы отменить выполнение ячеек или ячеек, находящихся в очереди.
Ссылка на записную книжку
Можно использовать магическую команду %run <notebook path>
для перехода по ссылке к другой записной книжке в контексте текущей записной книжки. Все переменные, определенные в записной книжке, переход к которой выполняется по ссылке, доступны в текущей записной книжке. Магическая команда %run
поддерживает вложенные вызовы, но не поддерживает рекурсивные вызовы. Вы получаете исключение, если глубина инструкции превышает пять.
Пример: %run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Ссылка на записную книжку работает как в интерактивном режиме, так и в конвейере Synapse.
Примечание.
- Команда
%run
в настоящее время поддерживает передачу только абсолютного пути или имени записной книжки только в качестве параметра; относительный путь не поддерживается. - В настоящее время команда
%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 в начале записной книжки. Ниже приведен пример. Полный список допустимых параметров см. по адресу https://github.com/cloudera/livy#request-body.
%%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 standard spark property, to find more available properties please visit:https://spark.apache.org/docs/latest/configuration.html#application-properties.
"spark.driver.maxResultSize":"10g",
//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"
}
}
Примечание.
- Значения DriverMemory и ExecutorMemory рекомендуется установить одинаковыми в %%configure, так же как и driverCores и ExecutorCores.
- Вы можете использовать команду %%configure в конвейерах Synapse, но если она не задана в первой ячейке кода, выполнение конвейера завершится ошибкой из-за невозможности перезапустить сеанс.
- Команда %%configure, используемая в mssparkutils.notebook.run, будет проигнорирована, но используемая в %run записная книжка будет продолжать выполняться.
- Стандартные свойства конфигурации Spark должны использоваться в тексте параметра conf. Ссылки первого уровня на свойства конфигурации Spark не поддерживаются.
- Некоторые специальные свойства Spark, включая spark.driver.cores, spark.executor.cores, spark.driver.memory, spark.executor.memory, spark.executor.instances, не вступят в силу в теле conf.
Параметризованная конфигурация сеанса из конвейера
Параметризованная конфигурация сеанса позволяет вам заменить значение в магической команде %%configure параметрами выполнения конвейера (действие запуска записной книжки). При подготовке ячейки кода %%configure вы можете переопределить значения по умолчанию (также настраиваемые, 4 и "2000" в приведенном ниже примере) с помощью следующего объекта.
{
"activityParameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
Записная книжка использует значение по умолчанию, если запустить записную книжку в интерактивном режиме напрямую или нет параметров, соответствующих "activityParameterName", от имени действия Pipeline Notebook.
В режиме выполнения конвейера можно настроить параметры действия записной книжки конвейера, как показано ниже:
Если вы хотите изменить конфигурацию сеанса, имя параметра действия записной книжки конвейера должно соответствовать activityParameterName в записной книжке. При запуске этого конвейера в этом примере driverCores в %%configure будет заменен на 8, а livy.rsc.sql.num-rows будет заменен на 4000.
Примечание.
Если запустить конвейер не удалось из-за использования новой магической команды %%configure, вы можете просмотреть дополнительную информацию об ошибке, запустив ячейку магической команды %%configure в интерактивном режиме записной книжки.
Перенесение данных в записную книжку
Вы можете загрузить данные из хранилища BLOB-объектов Azure, Azure Data Lake Store Gen 2 и пула SQL, как показано в приведенных ниже примерах кода.
Считывание CSV из Azure Data Lake Store Gen2 в качестве Spark DataFrame
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 DataFrame
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 Blob 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)
Считывание данных из основной учетной записи хранения
Доступ к данным можно получить в основной учетной записи хранения напрямую. Нет необходимости предоставлять секретные ключи. В Data Explorer щелкните файл правой кнопкой мыши и выберите Создать записную книжку, чтобы просмотреть новую записную книжку с автоматически созданным средством извлечения данных.
Мини-приложения IPython
Мини-приложения — это события объектов Python, которые имеют представление в браузере, часто как ползунок, текстовое поле и т. д. Мини-приложения IPython работают только в среде Python, он еще не поддерживается на других языках (например, Scala, SQL, C#).
Использование мини-приложения IPython
Сначала необходимо импортировать модуль
ipywidgets
для использования платформы мини-приложений Jupyter.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
Вместо записи текста в stdout можно использовать функцию print()
.widgets.jslink()
Для связывания двух одинаковых мини-приложений можно использовать функцию widgets.link()
.Мини-приложение FileUpload
Пока не поддерживается. Глобальная функция, предоставляемая
display
Synapse,display(a, b)
не поддерживает отображение нескольких мини-приложений в одном вызове (то есть), которая отличается от функции IPythondisplay
.Если вы закроете записную книжку, содержащую мини-приложение IPython, вы не сможете видеть его или взаимодействовать с ним, пока снова не выполните соответствующую ячейку.
Сохранение записных книжек
Вы можете сохранить одну или все записные книжки в рабочей области.
Чтобы сохранить изменения, сделанные в одной записной книжке, нажмите кнопку Опубликовать на панели команд записной книжки.
Чтобы сохранить все записные книжки в рабочей области, нажмите кнопку Опубликовать все на панели команд рабочей области.
В свойствах записной книжки вы можете указать, следует ли при сохранении включать выходные данные ячейки.
Магические команды
В записных книжках Synapse вы можете использовать привычные магические команды Jupyter. Доступные магические команды на текущий момент перечислены в ниже приведенном списке. Поделитесь с нами своими вариантами использования на GitHub, чтобы мы могли продолжать создавать другие магические команды с учетом потребностей пользователей.
Примечание.
В конвейере Synapse поддерживаются только следующие магические команды: %%pyspark, %%spark, %%csharp, %%sql.
Доступные магические команды для строк: %lsmagic, %time, %timeit, %history, %run, %load
Доступные магические команды для ячеек: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%configure
Ссылка на неопубликованную записную книжку
Ссылка на неопубликованную записную книжку полезна при отладке "локально", при включении этой функции записная книжка выполняет получение текущего содержимого в веб-кэше, если вы запускаете ячейку, в том числе инструкцию ссылочных записных книжек, вы ссылаетесь на записные книжки в текущем браузере записных книжек вместо сохраненных версий в кластере, что означает, что изменения в редакторе записных книжек можно ссылаться немедленно другими записными книжками без необходимости публикации (режим live) или фиксации( Режим Git), используя этот подход, вы можете легко избежать загрязнения распространенных библиотек во время разработки или отладки.
Вы можете включить ссылку на неопубликованную записную книжку на панели свойств:
Сравнение различных случаев см. в таблице ниже.
Обратите внимание, что %run и mssparkutils.notebook.run ведут себя здесь одинаково. В нашем примере используется %run
.
Регистр | Отключить | Включить |
---|---|---|
Режим реального времени | ||
- Nb1 (опубликовано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск опубликованной версии Nb1 |
- Nb1 (New) %run Nb1 |
Ошибка | Запустить новую Nb1 |
- Nb1 (ранее опубликовано, редактировано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск измененной версии Nb1 |
Режим Git | ||
- Nb1 (опубликовано) %run Nb1 |
Запуск опубликованной версии Nb1 | Запуск опубликованной версии Nb1 |
- Nb1 (New) %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 в Notebook
Вы можете найти журналы 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")
Просмотр журнала входных команд
Записная книжка Synapse поддерживает волшебную команду %history
для печати журнала входных команд, выполняемых в текущем сеансе, по сравнению со стандартной командой %history
Jupyter Ipython, которая работает для контекста нескольких языков в записной книжке.
%history [-n] [range [range ...]]
Для параметров:
- -n: номер выполнения печати.
Где может быть диапазон:
- N: печать кода выполненной ячейки Nth .
- M-N: печать кода из Mth в Nth выполненную ячейку.
Пример:
- Печать журнала входных данных от 1-го до 2-го выполненного ячейки:
%history -n 1-2
Интеграция записной книжки
Добавление записной книжки в конвейер
Нажмите кнопку Добавить в конвейер в правом верхнем углу для добавления записной книжки в существующий конвейер или создания нового конвейера.
Назначение ячейки параметров
Чтобы параметризовать записную книжку, нажмите кнопку с многоточием (...), чтобы получить доступ к другим командам на панели инструментов для ячейки. Затем выберите Переключить ячейку параметра, чтобы назначить ячейку как ячейку параметров.
Фабрика данных Azure выполняет поиск ячейки параметров и обрабатывает содержимое этой ячейку как значения по умолчанию для параметров, переданных во время выполнения. Подсистема выполнения добавляет новую ячейку под ячейкой параметров с входными параметрами, чтобы перезаписать значения по умолчанию.
Назначение значений параметров из конвейера
Создав записную книжку с параметрами, можно выполнить ее из конвейера с помощью действия с записной книжкой в Synapse. После добавления действия в конвейер можно задать значения параметров в разделе Базовые параметры на вкладке Параметры.
При назначении значений параметров можно использовать язык выражений для конвейера или системные переменные.
Сочетания клавиш
Аналогично Jupyter Notebook, в записных книжках Synapse есть модальный пользовательский интерфейс. Клавиатура выполняет разные действия в зависимости от того, в каком режиме находится ячейка записной книжки. Записные книжки Synapse поддерживают для данной ячейки кода следующие два режима: режим команд и режим правки.
Ячейка находится в режиме команд, когда нет текстового курсора для ввода текста. Когда ячейка находится в режиме команд, вы можете редактировать записную книжку целиком, но не вводить ее в отдельные ячейки. Войдите в режим команд, нажав
ESC
или щелкнув за пределами области редактора ячейки с помощью мыши.Режим правки обозначается текстовым курсором для ввода текста в области редактора. Когда ячейка находится в режиме правки, можно ввести текст в ячейку. Выберите режим правки, нажав
Enter
или щелкнув левой кнопкой мыши область редактора ячейки.
Сочетания клавиш в режиме команд
Действие | Сочетания клавиш для записной книжки Synapse |
---|---|
Запуск текущей ячейки и выбор ниже | SHIFT+ENTER |
Запуск текущей ячейки и вставка ниже | Alt+Ввод |
Выполнение текущей ячейки | CTRL + ВВОД |
Выбор ячейки выше | Up |
Выбор ячейки ниже | Down |
Выбор предыдущей ячейки | тыс. |
Выбор следующей ячейки | J |
Вставка ячейки выше | а |
Вставка ячейки ниже | Б |
Удаление выбранных ячеек | Shift+D |
Переключение в режим правки | Введите |
Сочетания клавиш в режиме правки
С помощью приведенных ниже сочетаний клавиш вы можете легче перемещаться и выполнять код в записных книжках Synapse в режиме правки.
Действие | Сочетания клавиш для записной книжки 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
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру