Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2019 (15.x)
Это важно
Надстройка "Кластеры больших данных Microsoft SQL Server 2019" будет прекращена. Поддержка кластеров больших данных SQL Server 2019 завершится 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на этой платформе, а программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений для SQL Server до этого времени. Для получения дополнительной информации см. запись блога об объявлении и параметры работы с большими данными на платформе Microsoft SQL Server.
Ускоритель кода PROSE создает удобочитаемый код Python для задач обработки данных. Вы можете смешивать созданный код с рукописным кодом при работе с записной книжкой в Azure Data Studio.
В этой статье представлен обзор использования акселератора кода.
Замечание
Синтез программы с помощью примеров, aka PROSE, — это технология Майкрософт, которая создает удобочитаемый человеком код с помощью ИИ. Это делается путем анализа намерения пользователя, а также данных, создания нескольких программ-кандидатов и выбора лучшей программы с помощью алгоритмов ранжирования. Чтобы узнать больше о технологии PROSE, посетите домашнюю страницу PROSE.
Акселератор кода предварительно установлен в Azure Data Studio. Его можно импортировать как любой другой пакет Python в записной книжке. По условию мы импортируем его как cx сокращённо.
import prose.codeaccelerator as cx
В текущем выпуске ускоритель кода может интеллектуально создать код Python для следующих задач:
- Чтение файлов данных в фрейм данных Pandas или Pyspark.
- Исправление типов данных в таблице данных.
- Поиск регулярных выражений, представляющих шаблоны в списке строк.
Общие сведения о методах ускорителя кода см. в документации.
Чтение данных из файла в кадр данных
Чтение файлов в DataFrame подразумевает анализ содержания файла и определение корректных параметров для передачи в библиотеку загрузки данных.
В зависимости от сложности файла определение правильных параметров может потребовать нескольких итераций.
Ускоритель кода PROSE решает эту проблему, анализируя структуру файла данных и автоматически создавая код для загрузки файла. Как правило, созданный код правильно анализирует данные. В некоторых случаях может потребоваться настроить код в соответствии с вашими потребностями.
Рассмотрим следующий пример:
import prose.codeaccelerator as cx
# Call the ReadCsvBuilder builder to analyze the file content and generate code to load it
builder = cx.ReadCsvBuilder(r'C:/911.txt')
#Set target to pyspark if generating code to use pyspark library
#builder.Target = "pyspark"
#Get the code generated to fix the data types
builder.learn().code()
Предыдущий блок кода выводит следующий код Python для чтения файла с разделителями. Обратите внимание, что PROSE автоматически определяет количество строк для пропуска, заголовков, кавычек, разделителей и т. д.
import pandas as pd
def read_file(file):
names = ["lat",
"lng",
"desc",
"zip",
"title"]
df = pd.read_csv(file,
skiprows = 11,
header = None,
names = names,
quotechar = "\"",
delimiter = "|",
index_col = False,
dtype = str,
na_values = [],
keep_default_na = False,
skipinitialspace = True)
return df
Ускоритель кода может генерировать код для загрузки файлов с разделителями, JSON и фиксированной ширины в DataFrame. Для чтения файлов фиксированной ширины ReadFwfBuilder
может, при необходимости, принимать читаемый человеком файл схемы, который можно проанализировать, чтобы получить позиции столбцов. Дополнительные сведения см. в документации.
Исправление типов данных в датафрейме
Это обычно случается, что датафрейм pandas или pyspark содержит неправильные типы данных. Неправильный тип данных происходит из-за нескольких несоответствующих значений в столбце. В результате целые числа считываются как float или String, а даты считываются как строки. Усилия, необходимые для ручного исправления типов данных, пропорциональны количеству столбцов.
Вы можете использовать DetectTypesBuilder
в этих ситуациях. Он анализирует данные и создает код для исправления типов данных. Код служит отправной точкой. При необходимости можно просмотреть, использовать или изменить его.
import prose.codeaccelerator as cx
builder = cx.DetectTypesBuilder(df)
#Set target to pyspark if working with pyspark
#builder.Target = "pyspark"
#Get the code generated to fix the data types
builder.learn().code()
Дополнительные сведения см. в документации.
Определение шаблонов в строках
Строка | Имя | Дата рождения |
---|---|---|
0 | Бертрам du Plessis | 1995 |
1 | Найара Моравчикова | Неизвестно |
2 | Jihoo Spel | 2014 |
3 | Виачаслау Гордан Хиларио | 22-апрель-67 |
4 | Майя де Виллиерс | 19-Мар-60 |
В зависимости от объема и разнообразия данных написание регулярных выражений для различных шаблонов в столбце может быть очень трудоемкой задачей. Это мощный инструмент FindPatternsBuilder
для ускорения кода, который решает проблему, указанную выше, путем создания регулярных выражений для списка строк.
import prose.codeaccelerator as cx
builder = cx.FindPatternsBuilder(df['BirthDate'])
#Set target to pyspark if working with pyspark
#builder.Target = "pyspark"
builder.learn().regexes
Здесь представлены регулярные выражения, созданные FindPatternsBuilder
для вышеуказанных данных.
^[0-9]{2}-[A-Z][a-z]+-[0-9]{2}$
^[0-9]{2}[\s][A-Z][a-z]+[\s][0-9]{4}$
^[0-9]{4}$
^Unknown$
Помимо создания регулярных выражений, FindPatternsBuilder
может также создавать код для кластеризации значений на основе созданных регулярных выражений. Он также может утверждать, что все значения в столбце соответствуют созданным регулярным выражениям. Дополнительные сведения и сведения о других полезных сценариях см. в пакете SDK для акселератора кода Microsoft PROSE.