Поделиться через


Применение навыков Python в Jupyter Notebook

Записная книжка Python — это новый интерфейс, созданный на основе записной книжки Fabric. Это универсальный и интерактивный инструмент, предназначенный для анализа данных, визуализации и машинного обучения. Он обеспечивает простой процесс разработки для написания и выполнения кода Python. Эта возможность делает его важным инструментом для специалистов по обработке и анализу данных, аналитиков и разработчиков бизнес-аналитиков, особенно для задач исследования, которые не требуют больших данных и распределенных вычислений.

Это важно

Эта функция доступна в предварительной версии.

С помощью записной книжки Python вы можете получить следующее:

  • несколько встроенных ядер Python: записные книжки Python предлагают чистую среду написания кода Python без Spark, с двумя версиями ядра Python — Python 3.10 и 3.11, доступными по умолчанию, и встроенными функциями ipython, поддерживаемыми такими как iPyWidget, магические команды.

  • Экономичность: Новая записная книжка Python предлагает преимущества экономии затрат, работая на одном узле кластера с 2 ядрами и 16 ГБ памяти по умолчанию. Эта настройка обеспечивает эффективное использование ресурсов для проектов исследования данных с меньшим размером данных.

  • Lakehouse & Resources доступны в нативном виде: Полная функциональность Fabric Lakehouse вместе со встроенными ресурсами доступна в записной книжке Python. Эта функция позволяет пользователям легко перенести данные в записную книжку Python, просто попробуйте перетащить и отпустить &, чтобы получить фрагмент кода.

  • Смешивание программирования с T-SQL: записная книжка Python предлагает простой способ взаимодействия с конечными точками хранилища данных и SQL в обозревателе. Используя соединитель данных notebookutils, вы можете легко выполнять скрипты T-SQL в среде Python.

  • поддержка популярных библиотек аналитики данных: ноутбуки Python имеют предварительно установленные библиотеки, такие как DuckDB, Polars и Scikit-learn, обеспечивая комплексный набор средств для обработки данных, анализа и машинного обучения.

  • Advanced intellisense: ноутбук на Python использует Pylance в качестве интеллектуальной системы подсказок вместе с другими настраиваемыми языковыми службами Fabric, направленными на предоставление передовых возможностей кодирования для разработчиков ноутбуков.

  • NotebookUtils & семантическая связь: мощные наборы средств API позволяют легко использовать возможности Fabric и Power BI, сосредоточив внимание на работе с кодом.

  • Богатые возможности визуализации: За исключением популярных функций предварительного просмотра фреймов данных, таких как "Таблица" и "Диаграмма", мы также поддерживаем популярные библиотеки для визуализации, такие как Matplotlib, Seaborn и Plotly. PowerBIClient также поддерживает эти библиотеки, чтобы помочь пользователям лучше понять шаблоны данных и аналитические сведения.

  • общие возможности для записных книжек Fabric: все функции уровня записной книжки Fabric, вполне применимы для записной книжки Python, такие как функции редактирования, автосохранение, совместная работа, управление доступом и разрешениями, интеграция с Git, импорт/экспорт и т. д.

  • Возможности в области науки о данных полного стека: расширенный набор средств с низким кодом Data Wrangler, фреймворк для машинного обучения MLFlow и мощные возможности Copilot доступны в блокноте Python.

Как получить доступ к записной книжке Python

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

снимок экрана: переход на Python из языкового меню записной книжки.

На уровне записной книжки поддерживается большинство распространенных функций; для изучения подробного использования можно ознакомиться с Как использовать записные книжки Microsoft Fabric и Разработка, выполнение и управление записными книжками Microsoft Fabric. Здесь перечислены некоторые ключевые возможности, характерные для сценариев Python.

Запуск блокнотов Python

Записная книжка Python поддерживает несколько способов выполнения заданий:

  • Интерактивный запуск: Вы можете запускать записную книжку Python так же интерактивно, как нативную записную книжку Jupyter.
  • расписание выполнения: Вы можете использовать облегчённый планировщик на странице параметров ноутбука для запуска ноутбука Python в виде пакетной задачи.
  • запуск конвейера. Вы можете оркестрировать записные книжки Python в качестве активностей записной книжки в потоке данных. Моментальный снимок будет создан после выполнения задания.
  • ссылка на запуск. Вы можете использовать notebookutils.notebook.run() или notebookutils.notebook.runMultiple(), чтобы ссылаться на выполнение записных книжек Python в другой записной книжке Python как на пакетное задание. Снимок состояния будет создан после завершения эталонного запуска.
  • общедоступного API запуска: Вы можете запланировать запуск Python записной книжки с помощью API запуска записной книжки , убедитесь, что свойства языка и ядра в метаданных общедоступного API полезной нагрузки настроены правильно.

Вы можете отслеживать сведения о выполнении задания записной книжки Python на вкладке ленты Запустить —>Просмотреть все запуски.

Взаимодействие с данными

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

Заметка

Среда выполнения Записной книжки Python предварительно установлена с помощью delta-rs и библиотек duckdb для поддержки чтения и записи данных Delta Lake. Однако обратите внимание, что некоторые функции Delta Lake в настоящее время не поддерживаются полностью. Дополнительные сведения и последние обновления см. на официальных веб-сайтах delta-rs и duckdb.

Взаимодействие с Lakehouse

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

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

Заметка

Если при загрузке большого объема данных возникает ошибка OOM, попробуйте использовать фрейм данных DuckDB, Polars или PyArrow вместо pandas.

Операцию записи данных в Lakehouse можно найти в фрагменте кода Обзор кода —>запись данных в дельта-таблицу.

снимок экрана, показывающий операцию записи в lakehouse.

Взаимодействие с хранилищем и сочетание программирования с помощью T-SQL

Вы можете добавить склады данных или конечные точки SQL из обозревателя склада данных в ноутбуке. Аналогичным образом можно перетащить таблицы на холст записной книжки или использовать сочетания клавиш в раскрывающемся меню таблицы. Ноутбук автоматически генерирует фрагмент кода для вас. Служебные программы notebookutils.data можно использовать для установления подключения к хранилищам и запроса данных с помощью инструкции T-SQL в контексте Python.

снимок экрана: ярлыки таблиц хранилища.

Заметка

Конечные точки SQL доступны только для чтения.

Папка ресурсов ноутбука

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

Операции ядра

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

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

снимок экрана с операциями ядра.

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

Существуют команды, которые могут привести к смерти ядра. Например, quit(), exit().

Управление библиотеками

Для встроенных установок можно использовать команды %pip и %conda, команды поддерживают как общедоступные библиотеки, так и настраиваемые библиотеки.

Для настраиваемых библиотек можно загрузить файлы lib в папку встроенных ресурсов . Мы поддерживаем несколько типов библиотек, таких как .whl, .jar, .dll, .pyи т. д., просто попробуйте перетащить&в файл, и фрагмент кода создается автоматически.

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

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

Команда/Синтаксис Основная цель Как он работает в Jupyter Notebook Типичный вариант использования Примечания
%pip install package Установка пакетов Python Выполняет pip в Python-ядре записной книжки Рекомендуемый способ установки пакетов В блокноте Python, так же как и !pip, ядро не перезапускается автоматически.
!pip install package Установка пакетов Python с помощью оболочки Запуск pip в качестве команды оболочки Альтернативный способ установки пакетов В среде Python Notebook, аналогичной %pip, ядро не перезапускается автоматически.
import sys; sys.exit(0) Перезапуск ядра записной книжки Немедленно перезапускает ядро Программно перезапустить ядро Очищает все переменные и состояния; не рекомендуется использовать напрямую
notebookutils.session.restartPython() Перезапуск ядра записной книжки Внутренние вызовы sys.exit(0) Рекомендуемый способ перезапуска ядра Официальный API, более безопасный и более совместимый, чем использование sys.exit(0) напрямую

Заметка

  • В Python Notebook %pip и !pip имеют одинаковое поведение: оба устанавливают пакеты в среду текущего ядра, и ни одна из команд автоматически не перезапустит ядро после установки.
  • Если необходимо перезапустить ядро (например, после установки определенных пакетов), рекомендуется использовать notebookutils.session.restartPython() вместо import sys; sys.exit(0)него.
    • notebookutils.session.restartPython() — это официальный API, который упаковывает sys.exit(0) , и он более безопасный и более совместимый в средах записных книжек.
  • Не рекомендуется использовать sys.exit(0) напрямую, если это не необходимо.

Волшебная команда конфигурации сеанса

Аналогично персонализации конфигурации сеанса Spark в записной книжке, вы также можете использовать %%configure в записной книжке Python. Записная книжка Python поддерживает настройку размера вычислительного узла, точек монтирования и lakehouse по умолчанию сеанса записной книжки. Их можно использовать как в интерактивных блокнотах, так и в блокнотах конвейера. Мы рекомендуем использовать команду %%configure в начале записной книжки или перезапустить сеанс записной книжки, чтобы изменить параметры.

Ниже перечислены поддерживаемые свойства записной книжки Python %%configure:

%%configure -f
{
    "vCores": 4, // Recommended values: [4, 8, 16, 32, 64], Fabric will allocate matched memory according to the specified vCores.
    "defaultLakehouse": {  
        // Will overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
}

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

снимок экрана: обновление вычислительных ресурсов.

NotebookUtils

Утилиты для записных книжек (NotebookUtils) — это встроенный пакет, помогающий легко выполнять распространенные задачи в среде Fabric Notebook. Он предварительно установлен в среде выполнения Python. NotebookUtils можно использовать для работы с файловыми системами, получения переменных среды, объединения и связывания ноутбуков, доступа к внешнему хранилищу и работы с конфиденциальными данными.

Вы можете использовать notebookutils.help() для перечисления доступных API, а также получения справки по методам или ссылки на документ NotebookUtils.

Служебные программы данных

Заметка

В настоящее время эта функция доступна в предварительной версии.

С помощью служебных программ notebookutils.data можно установить подключение с предоставленным источником данных, а затем считывать и запрашивать данные с помощью инструкции T-SQL.

Выполните следующую команду, чтобы получить общие сведения о доступных методах:

notebookutils.data.help()

Выпуск:

Help on module notebookutils.data in notebookutils:

NAME
    notebookutils.data - Utility for read/query data from connected data sources in Fabric

FUNCTIONS
    connect_to_artifact(artifact: str, workspace: str = '', artifact_type: str = '', **kwargs)
        Establishes and returns an ODBC connection to a specified artifact within a workspace 
        for subsequent data queries using T-SQL.
        
        :param artifact: The name or ID of the artifact to connect to.
        :param workspace:  Optional; The workspace in which the provided artifact is located, if not provided,
                             use the workspace where the current notebook is located.
        :param artifactType: Optional; The type of the artifact, Currently supported type are Lakehouse, Warehouse and MirroredDatabase. 
                                If not provided, the method will try to determine the type automatically.
        :param **kwargs Optional: Additional optional configuration. Supported keys include:
            - tds_endpoint : Allow user to specify a custom TDS endpoint to use for connection.
        :return: A connection object to the specified artifact.
        
        :raises UnsupportedArtifactException: If the specified artifact type is not supported to connect.
        :raises ArtifactNotFoundException: If the specified artifact is not found within the workspace.
        
        Examples:
            sql_query = "SELECT DB_NAME()"
            with notebookutils.data.connect_to_artifact("ARTIFACT_NAME_OR_ID", "WORKSPACE_ID", "ARTIFACT_TYPE") as conn:
                df = conn.query(sql_query)
                display(df)
    
    help(method_name: str = '') -> None
        Provides help for the notebookutils.data module or the specified method.
        
        Examples:
        notebookutils.data.help()
        notebookutils.data.help("connect_to_artifact")
        :param method_name: The name of the method to get help with.

DATA
    __all__ = ['help', 'connect_to_artifact']

FILE
    /home/trusted-service-user/jupyter-env/python3.10/lib/python3.10/site-packages/notebookutils/data.py

Запрос данных из Lakehouse

conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Запрос данных из хранилища

conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Заметка

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

Просмотр фрагментов кода

Полезные фрагменты кода Python можно найти на вкладке Редактировать ->Обзор фрагментов кода, новые примеры Python теперь доступны. Вы можете изучить фрагмент кода Python для начала изучения записной книжки.

снимок экрана, показывающий, где можно просматривать фрагменты кода Python.

Семантическая связь — это функция, которая позволяет установить связь между семантическими моделями и Synapse Data Science в Microsoft Fabric. Это нативно поддерживается в среде Python Notebook. Инженеры по бизнес-аналитике и разработчики Power BI могут легко использовать Semantic link для подключения и управления семантическими моделями. Чтобы узнать больше о семантической ссылке, прочитайте общедоступный документ .

Визуализация

Помимо построения диаграмм с использованием библиотек, встроенная функция визуализации позволяет превратить DataFrame в богатые визуализации данных. Вы можете использовать функцию отображения display() на фреймах данных для создания представления в виде таблицы и диаграммы.

снимок экрана, демонстрирующий опыт визуализации в записной книжке Python.

Заметка

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

Код intelliSense

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

Возможности обработки и анализа данных

Ознакомьтесь с документацией по науке о данных в Microsoft Fabric, чтобы узнать больше о возможностях науки о данных и ИИ в Fabric. Ниже перечислены некоторые ключевые функции обработки и анализа данных, которые изначально поддерживаются в записной книжке Python.

  • Data Wrangler: Data Wrangler — это средство на основе записных книжек, которое предоставляет иммерсивный интерфейс для анализа данных. Эта функция объединяет отображение данных, таких как сетка, с динамической сводной статистикой, встроенными визуализациями и библиотекой общих операций очистки данных. Она обеспечивает очистку данных, преобразование данных и интеграцию, которая ускоряет подготовку данных с помощью Wrangler.

  • MLflow: эксперимент машинного обучения является основной единицей организации и управления для всех связанных запусков машинного обучения. Запуск соответствует одному выполнению кода модели.

  • Fabric Auto Log: Synapse Data Science в Microsoft Fabric включает автоматическое ведение журнала, что значительно сокращает объем кода, необходимый для автоматического регистрации параметров, метрик и элементов модели машинного обучения во время обучения.

    Автологирование расширяет возможности отслеживания MLflow. Автологирование может записывать различные метрики, включая точность, потерю, оценку F1 и пользовательские метрики, которые вы определяете. Используя автологирование, разработчики и специалисты по обработке и анализу данных могут легко отслеживать и сравнивать производительность различных моделей и экспериментов без ручного отслеживания.

  • Copilot: Copilot для научных и инженерных записных книжек для данных — это помощник на базе искусственного интеллекта, который помогает анализировать и визуализировать данные. Он работает с таблицами lakehouse, наборами данных Power BI и фреймами данных pandas/spark, предоставляя ответы и фрагменты кода непосредственно в записной книжке. Панель чата Copilot и Char-magics можно использовать в записной книжке, а искусственный интеллект предоставляет ответы или код для копирования в записную книжку.

Известные ограничения общедоступной предварительной версии

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

  • Интеграция среды недоступна в записной книжке Python в рамках общедоступного предварительного просмотра.

  • Установка времени ожидания сеанса пока недоступна.

  • Copilot может создать инструкцию Spark, которая может не выполняться в записной книжке Python.

  • В настоящее время Copilot в Python-ноутбуке не полностью поддерживается в нескольких регионах. Процесс развёртывания всё ещё продолжается, оставайтесь с нами, пока мы расширяем поддержку в других регионах.