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


Функции выражений в сопоставлении потоков данных

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Потоки данных доступны как в конвейерах Фабрики данных Azure, так и в конвейерах Azure Synapse Analytics. Эта статья относится к потокам данных для сопоставления. Если вы не знакомы с преобразованиями, ознакомьтесь с вводной статьей "Преобразование данных с помощью потоков данных сопоставления".

В этой статье содержатся сведения о функциях выражений, поддерживаемых Azure Data Factory и Azure Synapse Analytics в потоках сопоставления данных.

Список функций выражений

В конвейерах Azure Data Factory и Azure Synapse Analytics используйте язык выражений функции сопоставления потоков данных для настройки преобразований данных.

Функция выражения Задача
abs Дает абсолютное значение числа.
acos Вычисляет значение арккосинуса.
добавление Добавляет пару строк или чисел. Добавляет дату к числу дней. Добавляет длительность к метке времени. Добавляет один массив аналогичного типа к другому. Аналогично оператору +.
and Использует логический AND оператор. То же, что и &&.
asin Вычисляет значение арксинуса.
assertErrorMessages Возвращает карту всех сообщений утверждения.
atan Вычисляет значение арктангенса.
atan2 Возвращает угол в радианах между положительной осью x плоскости и точкой, заданной координатами.
between Проверяет, находится ли первое значение между двумя другими значениями включительно. Можно сравнить числовые, строковые и datetime значения.
bitwiseAnd Использует побитовый And оператор для целочисленных типов. Аналогично оператору &.
bitwiseOr Использует побитовый Or оператор для целочисленных типов. Аналогично оператору |.
bitwiseXor Использует побитовый Or оператор для целочисленных типов. Аналогично оператору |.
blake2b Вычисляет дайджест Blake2 набора столбцов различных примитивных типов данных при указании битовой длины. Разрядность может быть только кратна 8 и должна быть в диапазоне от 8 до 512. Его можно использовать для вычисления отпечатка пальца для строки.
blake2bBinary Вычисляет дайджест Blake2 набора столбцов различных примитивных типов данных, при условии, что битовая длина может быть только кратной 8, в диапазоне от 8 до 512. Его можно использовать для вычисления отпечатка пальца для строки.
case Применяет одно значение или другое на основе переменных условий. Если количество входных данных чётное, второй элемент по умолчанию принимает значение NULL для последнего условия.
cbrt Вычисляет кубический корень числа.
ceil Возвращает наименьшее целое число, не меньшее заданного числа.
coalesce Возвращает из набора входных данных первое значение, не равное NULL. Все входные данные должны быть одного типа.
columnNames Получает имена всех выходных столбцов для потока. Можно передать необязательное имя потока в качестве первого аргумента и необязательный второй аргумент, чтобы возвращать только столбцы дрейфа схемы.
columns Получает значения всех выходных столбцов для потока. В качестве второго аргумента вы можете передать необязательное имя потока.
compare Сравнивает два значения одного типа. Возвращает отрицательное целое число, если значение1 < значение2 или 0, если значение1 == value2, и возвращает положительное значение, если значение1 > значение2.
concat Объединяет переменное количество строк. То же, что и + оператор со строками.
concatWS Объединяет переменное количество строк с использованием разделителя. Первый параметр — это разделитель.
cos Вычисляет значение косинуса.
cosh Вычисляет значение гиперболического косинуса.
crc32 Вычисляет хэш CRC32 набора столбцов различных примитивных типов данных при указании битовой длины. Длина бита должна иметь значения 0 (256), 224, , 256384и 512. Его можно использовать для вычисления отпечатка пальца для строки.
degrees Преобразует радианы в градусы.
divide Делит пару чисел. Аналогично оператору /.
dropLeft Удаляет столько символов, сколько указано слева от строки. Если запрошенная операция удаления превышает длину строки, возвращается пустая строка.
dropRight Удаляет столько символов, сколько указано справа от строки. Если запрошенная операция удаления превышает длину строки, возвращается пустая строка.
endsWith Проверяет, заканчивается ли строка предоставленной строкой.
equals Использует оператор сравнения равно. Аналогично оператору ==.
equalsIgnoreCase Использует оператор сравнения равно и игнорирует регистр. Аналогично оператору <=>.
escape Экранирует строку в соответствии с форматом. Литеральные значения допустимого формата: json, xml, ecmascript, htmlи java.
expr Преобразовывает строку в выражение. Эквивалентно написанию выражения в нелитеральной форме. Его можно использовать для передачи параметров в виде строковых представлений.
factorial Вычисляет факториал числа.
false Всегда возвращает значение false. Используйте функцию syntax(false()) , если есть столбец с именем false.
floor Возвращает наибольшее целое число, не превышающее заданное число.
fromBase64 Декодирует определенную строку в кодировке Base64.
greater Использует сравнение больше оператора. Аналогично оператору >.
greaterOrEqual Использует сравнение больше или равно оператору. Аналогично оператору >=.
greatest Возвращает наибольшее значение из списка значений в качестве пропускающих значения NULL. Возвращает значение NULL, если все входные данные имеют значение NULL.
hasColumn Проверяет значение столбца по имени в потоке. В качестве второго аргумента вы можете передать необязательное имя потока. Имена столбцов, известные во время проектирования, должны указываться только по их названиям. Вычисляемые входные данные не поддерживаются, но можно использовать замену параметров.
hasError Проверяет, помечено ли утверждение с указанным идентификатором как ошибка.
iif Применяет одно или другое значение на основе условия. Если другое не указано, значение считается NULL. Оба значения должны быть совместимыми (например, числовыми или строковыми).
iifNull Возвращает первый не null-элемент при указании двух или более входных данных. Она эквивалентна функции coalesce.
initCap Преобразует первую букву каждого слова в верхний регистр. Слова идентифицируются по разделению пробелами.
instr Находит позицию (1 на основе) подстроки в строке. Если значение не найдено, возвращается 0.
isDelete Проверяет, помечена ли строка для удаления. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1 , либо 2, а значение по умолчанию — 1.
isError Проверяет, помечена ли строка как ошибка. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
isIgnore Проверяет, следует ли игнорировать строку. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
isInsert Проверяет, помечена ли строка для вставки. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
isMatch Проверяет соответствие строки при поиске. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
isNull Проверяет, является ли значение NULL.
isUpdate Проверяет, помечена ли строка для обновления. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
isUpsert Проверяет, помечена ли строка для вставки. Для преобразований, которые принимают более одного входного потока, вы можете передать индекс потока, начиная с 1. Индекс потока должен быть либо 1, либо 2. Значение по умолчанию — 1.
jaroWinkler Вычисляет расстояние Джаро — Винклера между двумя строками.
least Использует сравнение меньше или равно оператору. Аналогично оператору <=.
left Извлекает подстроку, начинающуюся с индекса 1 , с числом символов. То же, что и SUBSTRING(str, 1, n).
length Возвращает длину строки.
lesser Использует оператор сравнения "меньше чем". Аналогично оператору <.
lesserOrEqual Использует сравнение меньше или равно оператору. Аналогично оператору <=.
levenshtein Вычисляет расстояние Левенштейна между двумя строками.
like Использует шаблон со строкой, которая соответствует дословно. Исключением является специальный символ _ , соответствующий любому символу в входных данных (аналогично .* в posix регулярных выражениях).
locate Находит позицию (основанную на 1) подстроки в строке, которая начинается с определённой позиции. Если позиция опущена, начните с начала строки. Если значение не найдено, возвращается 0.
log Вычисляет значение логарифма. При использовании можно указать необязательное основание или число Эйлера.
log10 Вычисляет значение логарифма с основанием 10.
lower Преобразовывает строку в нижний регистр.
lpad Левая панель заполняет строку предоставленным заполнением, пока она не будет определенной длины. Если строка равна или больше длины, строка обрезается до длины.
ltrim Обрезает строку начальных знаков слева. Если второй параметр не указан, он обрезает пробелы. В противном случае он обрезает любой символ, указанный во втором параметре.
md5 Вычисляет дайджест MD5 набора столбцов различных примитивных типов данных и возвращает шестнадцатеричную строку 32 символов. Его можно использовать для вычисления отпечатка пальца для строки.
minus Вычитает числа. Вычитает количество дней из даты. Вычитает продолжительность из метки времени. Вычитает две метки времени, чтобы получить разницу в миллисекундах. Аналогично оператору -.
mod (модуль) Дает модуль пары чисел. Аналогично оператору %.
multiply Умножает пару чисел. Аналогично оператору *.
negate Инвертирует число. Преобразовывает положительные числа в отрицательные и наоборот.
nextSequence Возвращает следующую уникальную последовательность. Номер является последовательным только в пределах раздела и имеет префикс идентификатора раздела.
normalize Нормализует строковое значение для разделения символов Юникода с акцентами.
не Использует оператор логического отрицания.
notEquals Использует оператор сравнения, не равный. Аналогично оператору !=.
NULL NULL Возвращает значение. Используйте функцию syntax(null()) , если есть столбец с именем null. Любая операция, использующая её, приводит к NULL.
or Использует логический OR оператор. То же, что и ||.
pMod Возвращает положительный модуль пары чисел.
partitionId Возвращает текущий идентификатор секции, в который входит входная строка.
power Возводит одно число в степень другого.
radians Преобразует градусы в радианы.
random Возвращает случайное число при указании необязательного начального числа в разделе. Начальное значение должно быть фиксированным и используется с идентификатором раздела для создания случайных значений.
regexExtract Извлекает соответствующую подстроку для определенного шаблона regex. Последний параметр определяет группу соответствия, и если он опущен, используется значение 1 по умолчанию. Используйте `<regex>`, чтобы сопоставить строку без необходимости экранирования.
regexMatch Проверяет, соответствует ли строка определенному шаблону регулярных выражений. Используйте `<regex>`, чтобы сопоставить строку без необходимости экранирования.
regexReplace Заменяет все вхождения шаблона regex другой подстрокой в конкретной строке. Используйте `<regex>`, чтобы сопоставить строку без необходимости экранирования.
regexSplit Разбивает строку по разделителю на основе регулярного выражения и возвращает массив строк.
replace Заменяет все вхождения одной подстроки на другую в указанной строке. Если последний параметр опущен, по умолчанию используется пустая строка.
reverse Обращает порядок строки.
right Извлекает подстроку с количеством символов справа. То же, что и SUBSTRING(str, LENGTH(str) - n, n).
rlike Проверяет, соответствует ли строка определенному шаблону регулярных выражений.
round Округляет число, если задано необязательное масштабирование и необязательный режим округления. Если шкала опущена, значение по умолчанию равно 0. Если режим опущен, он по умолчанию имеет значение ROUND_HALF_UP(5).
rpad Вправо строка заполняется предоставленным заполнением, пока она не будет определенной длины. Если строка равна или больше длины, строка обрезается до длины.
rtrim Обрезает строку конечных знаков справа. Если второй параметр не указан, он обрезает пробелы. В противном случае он обрезает любой символ, указанный во втором параметре.
sha1 Вычисляет дайджест SHA-1 набора столбцов различных примитивных типов данных и возвращает шестнадцатеричную строку 40 символов. Его можно использовать для вычисления отпечатка пальца для строки.
sha2 Вычисляет дайджест SHA-2 набора столбцов различных примитивных типов данных при указании битовой длины, которая может быть только значениями 0 (256), 224, , 256384и 512. Его можно использовать для вычисления отпечатка пальца для строки.
sin Вычисляет значение синуса.
sinh Вычисляет значение гиперболического синуса.
soundex Возвращает код soundex для строки.
split Разделяет строку на основе разделителя и возвращает массив строк.
sqrt Вычисляет квадратный корень числа.
startsWith Проверяет, начинается ли строка с предоставленной строки.
substring Извлекает подстроку определенной длины из заданной позиции. Позиция отсчитывается от единицы. Если длина опущена, она по умолчанию используется в конце строки.
substringIndex Извлекает подстроку перед count вхождениями разделителя. Если count является положительным, возвращается все слева от последнего разделителя (слева направо). Если count является отрицательным, возвращается все справа от последнего разделителя (справа налево).
tan Вычисляет значение тангенса.
tanh Вычисляет значение гиперболического тангенса.
translate Заменяет один набор символов другим набором символов в строке. Символы заменяются один к одному.
trim Обрезает строку начальных и конечных знаков. Если второй параметр не указан, он обрезает пробелы. В противном случае он обрезает любой символ, указанный во втором параметре.
true Всегда возвращает истинное значение. Используйте функцию syntax(true()) , если столбец называется true.
typeMatch Сопоставляет тип столбца. Используется только в выражениях шаблонов. Число совпадает с коротким, целым числом, длинным, двойным, плавающим или десятичным. Целочисленные совпадения короткие, целые и длинные. Дробные совпадения для типов данных Double, float и decimal. Datetime соответствует типу метки даты или времени.
unescape Отменяет экранирование строки в соответствии с форматом. Литеральные значения допустимого формата: json, xml, ecmascript, htmlи java.
upper Преобразовывает строку в верхний регистр.
uuid Возвращает созданный UUID.
xor Предоставляет логический XOR оператор. Аналогично оператору ^.