Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Вы можете внедрить код Python в запросы языка запросов Kusto с помощью подключаемого модуля Python(). Среда выполнения подключаемого модуля исполняется в песочнице, представляющей собой изолированную и безопасную среду Python. Возможность подключаемого модуля python() расширяет язык запросов Kusto собственные функциональные возможности с огромным архивом пакетов PYTHON OSS. Это расширение позволяет выполнять в рамках запроса сложные алгоритмы, относящиеся, например, к машинному обучению, искусственному интеллекту, статистическому анализу и временным рядам.
язык запросов Kusto средства не удобны для разработки и отладки алгоритмов Python. Поэтому разработайте алгоритм в любимой среде разработки, интегрированной с Python, например Jupyter, PyCharm, Visual Studio или Visual Studio Code. После завершения алгоритма скопируйте и вставьте его в KQL. Чтобы улучшить и упростить этот рабочий процесс, клиенты Kusto Explorer или веб-интерфейсы могут интегрироваться с Visual Studio Code для разработки и отладки встроенного кода Python KQL.
Примечание.
Этот рабочий процесс можно использовать только для отладки относительно небольших входных таблиц (до нескольких МБ). Поэтому может потребоваться ограничить входные данные для отладки. Если необходимо обработать большую таблицу, ограничьте ее для отладки с помощью | take, | sampleили where rand() < 0.x.
Необходимые компоненты
- Подписка Azure. Создайте бесплатную учетную запись Azure.
- Кластер и база данных Azure Data Explorer. Создайте кластер и базу данных.
- Установите дистрибутив Anaconda для Python. В окне Дополнительные параметры выберите Добавить Anaconda в переменную окружения PATH.
- Установка Visual Studio Code.
- Установите расширение Python для Visual Studio Code.
- Включите подключаемый модуль Python. Дополнительные сведения см. в разделе "Управление расширениями языка" в кластере Azure Data Explorer.
- Рабочая область с емкостью с поддержкой Microsoft Fabric.
- База данных. Создайте базу данных KQL.
- Установите дистрибутив Anaconda для Python. В окне Дополнительные параметры выберите Добавить Anaconda в переменную окружения PATH.
- Установка Visual Studio Code.
- Установите расширение Python для Visual Studio Code.
- Включите подключаемый модуль Python.
Включение отладки Python в Visual Studio Code
В клиентском приложении добавьте префикс запроса, содержащего встроенный код Python, с помощью
set query_python_debug;.Выполните запрос.
- Обозреватель Kusto: Visual Studio Code автоматически запускается с помощью скрипта debug_python.py .
- Веб-интерфейс Kusto:
- Скачайте и сохраните debug_python.py, df.txt и kargs.txt. В окне выберите Разрешить. Сохраните файлы в выбранном каталоге.
- Щелкните правой кнопкой мыши debug_python.py и откройте visual Studio Code. Скрипт debug_python.py содержит встроенный код Python (из запроса KQL), к котором в начале добавлен код шаблона для инициализации входного кадра данных из df.txt и словаря параметров из kargs.txt.
В Visual Studio Code запустите отладчик Visual Studio Code: запустите запуск>отладки (F5) и выберите конфигурацию Python . Отладчик запускает и автоматически задает точку останова для отладки встроенного кода.
В клиентском приложении добавьте префикс запроса, содержащего встроенный код Python, с помощью
set query_python_debug;.Выполните запрос.
- Обозреватель Kusto: Visual Studio Code автоматически запускается с помощью скрипта debug_python.py .
- Набор запросов KQL:
- Скачайте и сохраните debug_python.py, df.txt и kargs.txt. В окне выберите Разрешить. Сохраните файлы в выбранном каталоге.
- Щелкните правой кнопкой мыши debug_python.py и откройте visual Studio Code. Скрипт debug_python.py содержит встроенный код Python (из запроса KQL), к котором в начале добавлен код шаблона для инициализации входного кадра данных из df.txt и словаря параметров из kargs.txt.
В Visual Studio Code запустите отладчик Visual Studio Code: запустите запуск>отладки (F5) и выберите конфигурацию Python . Отладчик запускает и автоматически задает точку останова для отладки встроенного кода.
Как работает встроенная отладка Python в Visual Studio Code?
- Запрос анализируется и выполняется на сервере, пока не будет достигнуто требуемое предложение
| evaluate python(). - Будет вызвана песочница Python, но вместо выполнения кода она сериализует входную таблицу, словарь параметров и код и отправляет их обратно клиенту.
- Эти три объекта сохраняются в трех файлах: df.txt, kargs.txt и debug_python.py в выбранном каталоге (веб-интерфейс) или в каталоге %TEMP% клиента (Kusto Explorer).
- Visual Studio Code запускается с предварительной загрузкой файла debug_python.py , содержащего код префикса для инициализации df и kargs из соответствующих файлов, а затем скрипт Python, внедренный в запрос KQL.
Пример запроса
Выполните следующий запрос KQL в клиентском приложении:
range x from 1 to 4 step 1 | evaluate python(typeof(*, x4:int), 'exp = kargs["exp"]\n' 'result = df\n' 'result["x4"] = df["x"].pow(exp)\n' , bag_pack('exp', 4))См. результирующую таблицу:
x x4 1 1 2 16 3 81 4 256 Выполните тот же запрос KQL в клиентском приложении с помощью
set query_python_debug;:set query_python_debug; range x from 1 to 4 step 1 | evaluate python(typeof(*, x4:int), 'exp = kargs["exp"]\n' 'result = df\n' 'result["x4"] = df["x"].pow(exp)\n' , bag_pack('exp', 4))Visual Studio Code запускается:
Visual Studio Code отлаживать и печатает кадр данных result в консоли отладки:
Примечание.
Образ песочницы Python и локальная установка могут различаться. Проверьте образ песочницы на наличие определенных пакетов, отправив запрос к подключаемому модулю.
Примечание.
Если при запуске сеанса отладки Visual Studio Code возникают ошибки, попробуйте задать профиль терминала по умолчанию в командной строке:
- Нажмите клавиши CTRL+SHIFT+P, чтобы открыть палитру команд.
- Найдите "Терминал: выберите профиль по умолчанию" и выберите "Командная строка"