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


Функции PySpark

Эта страница содержит список функций SQL PySpark, доступных в Databricks, со ссылками на соответствующую справочную документацию.

Обычные функции

Функция Description
broadcast(df) Помечает DataFrame как достаточно маленький для использования в широковещательных соединениях.
call_function(funcName, *cols) Вызов функции SQL.
col(col) Возвращает столбец на основе заданного имени столбца. column(col) также разрешено.
lit(col) Создает столбец с заданным значением.
expr(str) Преобразует строку выражения в столбец, который она обозначает.

Сортировка функций

Функция Description
asc(col) Возвращает выражение сортировки для целевого столбца в порядке возрастания.
asc_nulls_first(col) Возвращает выражение сортировки по возрастанию для заданного столбца, где значения NULL идут перед значениями, отличными от NULL.
asc_nulls_last(col) Возвращает выражение сортировки в зависимости от возрастающего порядка заданного имени столбца, а значения NULL отображаются после значений, отличных от NULL.
desc(col) Возвращает выражение сортировки для целевого столбца в порядке убывания.
desc_nulls_first(col) Возвращает выражение сортировки для указанного имени столбца в порядке убывания, при этом значения NULL располагаются перед значениями, отличными от NULL.
desc_nulls_last(col) Возвращает выражение сортировки в зависимости от порядка убывания заданного имени столбца, а значения NULL отображаются после значений, отличных от NULL.

Условные функции

Функция Description
coalesce(*cols) Возвращает первый столбец, который не является NULL.
ifnull(col1, col2) Возвращает col2, если col1 имеет значение NULL или col1 в противном случае.
nanvl(col1, col2) Возвращает col1, если он не NaN, или col2, если col1 является NaN.
nullif(col1, col2) Возвращает значение NULL, если col1 равен col2 или col1 в противном случае.
nullifzero(col) Возвращает значение NULL, если col равен нулю или иначе.
nvl(col1, col2) Возвращает col2, если col1 имеет значение NULL или col1 в противном случае.
nvl2(col1, col2, col3) Возвращает col2, если col1 не имеет значения NULL, или col3 в противном случае.
when(condition, value) Оценка списка условий и возвращение одного из нескольких возможных выражений результатов.
zeroifnull(col) Возвращает ноль, если col имеет значение NULL или col в противном случае.

Функции сопоставления шаблонов

Функция Description
equal_null(col1, col2) Возвращает тот же результат, что и оператор EQUAL(=) для операндов, отличных от NULL, но возвращает значение true, если оба имеют значение NULL, значение false, если один из них имеет значение NULL.
ilike(str, pattern[, escapeChar]) Возвращает true, если строка str соответствует шаблону с escape-символом без учета регистра, null, если любой из аргументов равен null, и false в противном случае.
isnan(col) Выражение, возвращающее значение true, если столбец имеет значение NaN.
isnotnull(col) Возвращает true, если col не равен NULL, или false в противном случае.
isnull(col) Выражение, возвращающее значение true, если столбец имеет значение NULL.
like(str, pattern[, escapeChar]) Возвращает значение true, если шаблон str соответствует шаблону escape, null, если какие-либо аргументы имеют значение NULL, значение false в противном случае.
regexp(str, regexp) Возвращает true, если str соответствует регулярному выражению Java regex, в противном случае — false.
regexp_like(str, regexp) Возвращает true, если str соответствует регулярному выражению Java regex, в противном случае — false.
rlike(str, regexp) Возвращает true, если str соответствует регулярному выражению Java regex, в противном случае — false.

Математические функции

Функция Description
abs(col) Вычисляет абсолютное значение заданного столбца или выражения.
acos(col) Вычисляет обратный косинус (также известный как arccosine) заданного столбца или выражения.
acosh(col) Вычисляет обратный гиперболический косинус (также известный как arcosh) заданного столбца или выражения.
asin(col) Вычисляет обратный синус входного столбца.
asinh(col) Вычисляет обратный гиперболический синус входного столбца.
atan(col) Вычисление обратного тангенда входного столбца.
atan2(col1, col2) Вычисление угла в радианах между положительной осью x плоскости и точкой, заданной координатами
atanh(col) Вычисляет обратный гиперболический тангенс входного столбца.
bin(col) Возвращает строковое представление двоичного значения заданного столбца.
bround(col[, scale]) Округление заданного значения до масштабирования десятичных разрядов с помощью режима округления HALF_EVEN, если шкала >= 0, или до целого числа, если шкала < 0.
cbrt(col) Вычисляет корень куба заданного значения.
ceil(col[, scale]) Вычисляет потолок заданного значения.
ceiling(col[, scale]) Вычисляет потолок заданного значения.
conv(col, fromBase, toBase) Преобразуйте число в строковом столбце из одной базы в другую.
cos(col) Вычисляет косинус входного столбца.
cosh(col) Вычисляет гиперболический косинус входного столбца.
cot(col) Вычисляет котангент входного столбца.
csc(col) Вычисляет косекант входного столбца.
degrees(col) Преобразует угол, измеряемый в радианах, в приблизительно эквивалентный угол, измеряемый в градусах.
e() Возвращает число Эйлера.
exp(col) Вычисляет экспоненциал заданного значения.
expm1(col) Вычисляет экспоненциал заданного значения минус один.
factorial(col) Вычисляет факториал заданного значения.
floor(col[, scale]) Вычисляет пол заданного значения.
greatest(*cols) Возвращает наибольшее значение списка имен столбцов, пропуская значения NULL.
hex(col) Вычисляет шестнадцатеричное значение заданного столбца, которое может быть StringType, BinaryType, IntegerType или LongType.
hypot(col1, col2) Вычислить sqrt(a^2 + b^2) без промежуточного переполнения или недополнения.
least(*cols) Возвращает наименьшее значение списка имен столбцов, пропуская значения NULL.
ln(col) Возвращает естественный логарифм аргумента.
log(arg1[, arg2]) Возвращает логарифм второго аргумента по первому аргументу в качестве основания.
log10(col) Вычисляет логарифм заданного значения в Base 10.
log1p(col) Вычисляет естественный логарифм заданного значения плюс один.
log2(col) Возвращает двоичный логарифм аргумента.
negate(col) Возвращает отрицательное значение.
negative(col) Возвращает отрицательное значение.
pi() Возвращает Пи.
pmod(dividend, divisor) Возвращает положительное значение делителя мода дивидендов.
positive(col) Возвращает значение.
pow(col1, col2) Возвращает значение первого аргумента, возведенного в степень второго аргумента.
radians(col) Преобразует угол, измеряемый в градусах, в приблизительно эквивалентный угол, измеряемый в радианах.
rand([seed]) Создает случайный столбец с независимыми и идентичными примерами (i.i.d.), равномерно распределенными в [0.0, 1.0).
randn([seed]) Создает случайный столбец с независимо и одинаково распределёнными (i.i.d.) выборками из стандартного нормального распределения.
rint(col) Возвращает двойное значение, ближайшее к аргументу, и равно математическому целочислению.
round(col[, scale]) Округление заданного значения до десятичных разрядов с помощью режима округления HALF_UP, если шкала >= 0, или до целой части, когда шкала < 0.
sec(col) Вычисляет секант входного столбца.
sign(col) Вычисляет знак заданного значения.
signum(col) Вычисляет знак заданного значения.
sin(col) Вычисляет синус входного столбца.
sinh(col) Вычисляет гиперболический синус входного столбца.
sqrt(col) Вычисляет квадратный корень указанного числа с плавающей запятой.
tan(col) Вычисляет тангенс входного столбца.
tanh(col) Вычисляет гиперболический тангенс входного столбца.
try_add(left, right) Возвращает сумму слева и справа, а результат имеет значение NULL при переполнении.
try_divide(left, right) Возвращает результат деления дивиденда на делитель.
try_mod(left, right) Возвращает оставшуюся часть после дивидендов или делизоров.
try_multiply(left, right) Возвращает слева, умноженное направо, и результат имеет значение NULL при переполнении.
try_subtract(left, right) Возвращает левый минус справа и результат имеет значение NULL при переполнении.
unhex(col) Инверсия шестнадцатеричного.
uniform(min, max[, seed]) Возвращает случайное значение с независимыми и идентичными значениями (i.d.) с указанным диапазоном чисел.
width_bucket(v, min, max, numBucket) Возвращает номер сегмента, в который значение этого выражения будет попадать после вычисления.

Строковые функции

Функция Description
ascii(col) Вычисляет числовое значение первого символа строкового столбца.
base64(col) Вычисляет кодировку BASE64 двоичного столбца и возвращает его в виде строкового столбца.
bit_length(col) Вычисляет битовую длину для указанного столбца строки.
btrim(str[, trim]) Удалите начальные и конечные символы пробелов из строки str.
char(col) Возвращает символ ASCII, двоичный эквивалент которого соответствует col.
char_length(str) Возвращает длину строковых данных в символах или число байтов двоичных данных.
character_length(str) Возвращает длину строковых данных в символах или число байтов двоичных данных.
chr(n) Возвращает символ ASCII с двоичным эквивалентом n.
collate(col, collation) Помечает заданный столбец с указанными параметрами сортировки.
collation(col) Возвращает имя сортировки заданного столбца.
concat_ws(sep, *cols) Объединяет несколько входных строковых столбцов в один строковый столбец с помощью заданного разделителя.
contains(left, right) Возвращает логическое значение.
decode(col, charset) Вычисляет первый аргумент в строку из двоичного файла с помощью предоставленного набора символов (один из US-ASCII, , , ISO-8859-1UTF-8, UTF-16BEUTF-16LE, , UTF-16. UTF-32
elt(*inputs) Возвращает n-й ввод, например, возвращает ввод2 при значении n равном 2.
encode(col, charset) Вычисляет первый аргумент в двоичный код из строки с помощью предоставленного набора символов (одного из US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16, UTF-32).
endswith(str, suffix) Возвращает логическое значение.
find_in_set(str, str_array) Возвращает индекс (на основе 1) заданной строки (str) в списке с разделителями-запятыми (strArray).
format_number(col, d) Форматирует число X в формат, подобный #,--#,--#.--, округляя до d десятичных знаков с режимом округления HALF_EVEN, и возвращает результат в виде строки.
format_string(format, *cols) Форматирует аргументы в стиле printf и возвращает результат в виде строкового столбца.
initcap(col) Перевод первой буквы каждого слова в верхний регистр в предложении.
instr(str, substr) Найдите позицию первого вхождения подстроки "column" в заданной строке.
is_valid_utf8(str) Возвращает значение true, если входные данные являются допустимой строкой UTF-8, в противном случае возвращает значение false.
lcase(str) Возвращает str со всеми символами, измененными на строчные буквы.
left(str, len) Возвращает самый левый символ len (len может быть строковым типом) из строки str, если len меньше или равно 0 результатом является пустая строка.
length(col) Вычисляет длину строковых данных или количество байт двоичных данных.
levenshtein(left, right[, threshold]) Вычисляет расстояние Левенштейна от двух заданных строк.
locate(substr, str[, pos]) Найдите позицию первого вхождения подстроки в строковом столбце после позиции pos.
lower(col) Преобразует строковое выражение в нижний регистр.
lpad(col, len, pad) Добавьте заполнение слева для столбца строки до ширины, заданной величиной pad.
ltrim(col[, trim]) Удалите пробелы с левого конца указанного строкового значения.
make_valid_utf8(str) Возвращает новую строку, в которой все недопустимые последовательности байтов UTF-8, если таковые имеются, заменяются символом замены Юникода (U+FFFD).
mask(col[, upperChar, lowerChar, digitChar, ...]) Маскирует заданное строковое значение.
octet_length(col) Вычисляет длину байтов для указанного строкового столбца.
overlay(src, replace, pos[, len]) Накладывайте указанную часть src заменяющим фрагментом, начиная с байтовой позиции pos из src и в течение len байтов.
position(substr, str[, start]) Возвращает позицию первого вхождения подстроки в str после запуска позиции.
printf(format, *cols) Форматирует аргументы в стиле printf и возвращает результат в виде строкового столбца.
randstr(length[, seed]) Возвращает строку указанной длины, символы которой выбираются равномерно из следующего пула символов: 0-9, a-z, A-Z.
regexp_count(str, regexp) Возвращает количество раз, когда шаблон регулярного выражения Java regex сопоставляется в строке str.
regexp_extract(str, pattern, idx) Извлеките определенную группу, соответствующую регулярному выражению Java, из указанного строкового столбца.
regexp_extract_all(str, regexp[, idx]) Извлеките все строки в str, которые соответствуют регрессии Java regex и соответствуют индексу группы regex.
regexp_instr(str, regexp[, idx]) Возвращает позицию первой подстроки в str, которая соответствует регрессии Java regex и соответствует индексу группы regex.
regexp_replace(string, pattern, replacement) Замените все подстроки указанного строкового значения, соответствующего регрессии с заменой.
regexp_substr(str, regexp) Возвращает первую подстроку, которая соответствует регулярному выражению Java regex в строке str.
repeat(col, n) Повторяет строковый столбец n раз и возвращает его в виде нового строкового столбца.
replace(src, search[, replace]) Заменяет все вхождения поискового запроса на замену.
right(str, len) Возвращает наиболее правые символы len (len может быть строковым типом) из строки str, если len меньше или равно 0 результатом является пустая строка.
rpad(col, len, pad) Дополнять строковый столбец справа до ширины len с помощью заполнителя.
rtrim(col[, trim]) Обрезать пробелы от правого конца для указанного строкового значения.
sentences(string[, language, country]) Разбивает строку на массивы предложений, где каждое предложение является массивом слов.
soundex(col) Возвращает кодировку SoundEx для строки
split(str, pattern[, limit]) Разделяет строку по совпадениям заданного шаблона.
split_part(src, delimiter, partNum) Разделяет str по разделителю и возвращает запрашиваемую часть разделения (начиная с 1).
startswith(str, prefix) Возвращает логическое значение.
substr(str, pos[, len]) Возвращает подстроку str, которая начинается с pos и имеет длину len, или срез массива байтов, который начинается с pos и имеет длину len.
substring(str, pos, len) Подстрока начинается с pos и имеет длину len, если str имеет тип String или возвращает срез массива байтов, который начинается с байта pos и имеет длину len, если str является двоичным типом.
substring_index(str, delim, count) Возвращает подстроку из строки str перед подсчетом вхождения разделителя делима.
to_binary(col[, format]) Преобразует входной столбец в двоичное значение в зависимости от предоставленного формата.
to_char(col, format) Преобразуйте col в строку на основе формата.
to_number(col, format) Преобразуйте строку "col" в число в зависимости от формата строки "формат".
to_varchar(col, format) Преобразуйте col в строку на основе формата.
translate(srcCol, matching, replace) Замена любого символа в srcCol на соответствующий символ в matching.
trim(col[, trim]) Обрезать пробелы с обеих сторон для указанного строкового столбца.
try_to_binary(col[, format]) Попробуйте выполнить to_binary операцию, но возвращает значение NULL, а не вызывает ошибку, если преобразование не может быть выполнено.
try_to_number(col, format) Преобразуйте строку col в число в зависимости от формата formatстроки.
try_validate_utf8(str) Возвращает входное значение, если оно соответствует допустимой строке UTF-8 или NULL в противном случае.
ucase(str) Возвращает str со всеми символами, измененными на верхний регистр.
unbase64(col) Декодирует строковый столбец в кодировке BASE64 и возвращает его в виде двоичного столбца.
upper(col) Преобразует строковое выражение в верхний регистр.
validate_utf8(str) Возвращает входное значение, если оно соответствует допустимой строке UTF-8 или выдает ошибку в противном случае.

Побитовые функции

Функция Description
bit_count(col) Возвращает число битов, заданных в аргументе expr в виде целого числа без знака, или NULL, если аргумент имеет значение NULL.
bit_get(col, pos) Возвращает значение бита (0 или 1) в указанной позиции.
bitwise_not(col) Вычисляет побитовое не.
getbit(col, pos) Возвращает значение бита (0 или 1) в указанной позиции.
shiftleft(col, numBits) Переместите заданное значение numBits влево.
shiftright(col, numBits) (Подпись) сдвигает заданное значение numBits вправо.
shiftrightunsigned(col, numBits) Без знака переместите заданное значение numBits вправо.

Функции для работы с датой и временем

Функция Description
add_months(start, months) Возвращает дату, которая наступит через указанное количество месяцев после начала.
convert_timezone(sourceTz, targetTz, sourceTs) Преобразует метку времени без указания часового пояса из часового пояса sourceTz в targetTz.
curdate() Возвращает текущую дату в начале вычисления запроса в качестве столбца DateType.
current_date() Возвращает текущую дату в начале вычисления запроса в качестве столбца DateType.
current_timestamp() Возвращает текущую метку времени в начале вычисления запроса в качестве столбца TimestampType.
current_timezone() Возвращает локальный часовой пояс текущего сеанса.
date_add(start, days) Возвращает дату, которая составляет несколько дней после начала.
date_diff(end, start) Возвращает количество дней от начала до конца.
date_format(date, format) Преобразует метку даты и времени в значение строки в формате, указанном в формате даты, заданном вторым аргументом.
date_from_unix_date(days) Создайте дату из числа дней, прошедших с 1970-01-01.
date_part(field, source) Извлекает часть источника даты и времени или интервала.
date_sub(start, days) Возвращает дату, которая за несколько дней до начала.
date_trunc(format, timestamp) Возвращает метку времени, усеченную в единицу, указанную в формате.
dateadd(start, days) Возвращает дату, которая составляет несколько дней после начала.
datediff(end, start) Возвращает количество дней от начала до конца.
datepart(field, source) Извлекает часть источника даты и времени или интервала.
day(col) Извлеките день месяца из заданной даты/времени как целое число.
dayname(col) Возвращает трехбуквенное сокращенное название дня из заданной даты.
dayofmonth(col) Извлеките день месяца из заданной даты/времени как целое число.
dayofweek(col) Извлеките номер дня недели из заданной даты или метки времени в формате целого числа.
dayofyear(col) Извлеките день года из заданной даты/времени в виде целого числа.
extract(field, source) Извлекает часть источника даты и времени или интервала.
from_unixtime(timestamp[, format]) Преобразует количество секунд из эпохи UNIX (1970-01-01 00:00:00 UTC) в строку, представляющую метку времени этого момента в текущем системном часовом поясе в заданном формате.
from_utc_timestamp(timestamp, tz) Это общая функция для баз данных, поддерживающих TIMESTAMP БЕЗ TIMEZONE.
hour(col) Извлеките часы заданной метки времени в виде целого числа.
last_day(date) Возвращает последний день месяца, к которому принадлежит указанная дата.
localtimestamp() Возвращает текущую метку времени без часового пояса в начале вычисления запроса в виде метки времени без столбца часового пояса.
make_date(year, month, day) Возвращает столбец с датой, созданной из столбцов года, месяца и дня.
make_dt_interval([days, hours, mins, secs]) Создайте длительность для DayTimeIntervalType из дней, часов, минут и секунд.
make_interval([years, months, weeks, days, ...]) Создайте интервал из лет, месяцев, недель, дней, часов, минут и секунд.
make_timestamp(years, months, days, hours, ...) Создайте метку времени из лет, месяцев, дней, часов, минут, с и часового пояса.
make_timestamp_ltz(years, months, days, ...) Создайте текущую метку времени с добавлением местного часового пояса из полей год, месяц, день, час, минута, секунда и часовой пояс.
make_timestamp_ntz(years, months, days, ...) Создайте локальное время даты из лет, месяцев, дней, часов, минут, с.
make_ym_interval([years, months]) Создайте интервал год-месяц из лет и месяцев.
minute(col) Извлеките количество минут из заданной метки времени как целое число.
month(col) Извлеките месяц из заданной даты или временной метки в виде целого числа.
monthname(col) Возвращает трехбуквенное сокращенное имя месяца с заданной даты.
months_between(date1, date2[, roundOff]) Возвращает количество месяцев между датами 1 и датой2.
next_day(date, dayOfWeek) Возвращает первую дату, которая наступает позже даты в столбце, основываясь на аргументе второго дня недели.
now() Возвращает текущую метку времени на момент начала вычисления запроса.
quarter(col) Извлеките квартал из заданной даты/временной метки в виде целого числа.
second(col) Извлеките секунды заданной даты в виде целого числа.
session_window(timeColumn, gapDuration) Создает окно сеанса с указанием метки времени, указывающей столбец.
time_diff(unit, start, end) Возвращает разницу между двумя разами, измеряемой в указанных единицах.
time_from_micros(col) Создает значение TIME из микросекунд с полуночи.
time_from_millis(col) Создает значение TIME из миллисекунда с полуночи.
time_from_seconds(col) Создает значение TIME из секунд с полуночи (поддерживает дробные секунды).
time_to_micros(col) Извлекает микросекунды из значения TIME.
time_to_millis(col) Извлекает миллисекунда из значения TIME.
time_to_seconds(col) Извлекает секунды из значения TIME.
time_trunc(unit, time) Возвращает время, усеченное на единицу.
timestamp_add(unit, quantity, ts) Получает разницу между метками времени в указанных единицах путем усечения части дроби.
timestamp_diff(unit, start, end) Получает разницу между метками времени в указанных единицах путем усечения части дроби.
timestamp_micros(col) Создает метку времени из числа микросекунд с эпохи UTC.
timestamp_millis(col) Создает метку времени из количества миллисекунд, прошедших с момента эпохи UTC.
timestamp_seconds(col) Преобразует количество секунд из эпохи Unix (1970-01-01T00:00:00Z) в метку времени.
to_date(col[, format]) Преобразует столбец в формат pyspark.sql.types.DateType, используя при необходимости указанный формат.
to_time(str, format) Преобразует столбец в TimeType с помощью дополнительно указанного формата.
to_timestamp(col[, format]) Преобразует столбец в pyspark.sql.types.TimestampType с помощью дополнительно указанного формата.
to_timestamp_ltz(timestamp[, format]) Анализирует метку времени в заданном формате до метки времени с указанием часового пояса.
to_timestamp_ntz(timestamp[, format]) Преобразует метку времени из указанного формата в метку времени без часового пояса.
to_unix_timestamp(timestamp[, format]) Возвращает метку времени UNIX заданного времени.
to_utc_timestamp(timestamp, tz) Это общая функция для баз данных, поддерживающих TIMESTAMP БЕЗ TIMEZONE.
trunc(date, format) Возвращает дату, усеченную в единицу, указанную в формате.
try_make_interval([years, months, weeks, ...]) Попробуйте выполнить make_interval операцию, но верните значение NULL вместо того, чтобы вызывать ошибку, если не удастся создать интервал.
try_make_timestamp(years, months, days, ...) Попробуйте создать метку времени из лет, месяцев, дней, часов, минут, с и часового пояса.
try_make_timestamp_ltz(years, months, days, ...) Попробуйте создать текущую временную метку с местным часовым поясом, используя поля: года, месяца, дня, часа, минуты, секунды и часового пояса.
try_make_timestamp_ntz(years, months, days, ...) Попробуйте создать локальное время даты из лет, месяцев, дней, часов, минут, с.
try_to_time(str, format) Преобразует столбец в TimeType с помощью дополнительно указанного формата.
try_to_timestamp(col[, format]) Анализирует столбец с использованием формата для преобразования в метку времени.
unix_date(col) Возвращает количество дней с 1970-01-01.
unix_micros(col) Возвращает число микросекунд с 1970-01-01 01 00:00:00 UTC.
unix_millis(col) Возвращает число миллисекунд с 1970-01-01 00:00:00 UTC.
unix_seconds(col) Возвращает количество секунд с 1970-01-01 00:00:00 UTC.
unix_timestamp([timestamp, format]) Преобразуйте строку времени с заданным шаблоном ('yyy-MM-dd HH:mm:ss', по умолчанию) в метку времени Unix (в секундах), используя часовой пояс по умолчанию и языковой стандарт по умолчанию, возвращает значение NULL, если произошел сбой.
weekday(col) Возвращает день недели для метки даты и времени (0 = понедельник, 1 = вторник, ..., 6 = воскресенье).
weekofyear(col) Извлеките число недели заданной даты в виде целого числа.
window(timeColumn, windowDuration[, ...]) Контейнеризируйте строки в одно или несколько периодов времени с указанием метки времени, указывающей столбец.
window_time(windowColumn) Вычисляет время события из столбца окна.
year(col) Извлеките год заданной даты/времени в виде целого числа.

Хэш-функции

Функция Description
crc32(col) Вычисляет значение проверки циклической избыточности (CRC32) двоичного столбца и возвращает значение в виде bigint.
hash(*cols) Вычисляет хэш-код заданных столбцов и возвращает результат в виде столбца int.
md5(col) Вычисляет дайджест MD5 и возвращает значение в виде шестнадцатеричной строки символов.
sha(col) Возвращает хэш-значение sha1 в виде шестнадцатеричной строки col.
sha1(col) Возвращает результат SHA-1 в виде шестнадцатеричной строки.
sha2(col, numBits) Возвращает шестнадцатеричный результат семейства хэш-функций SHA-2 (SHA-224, SHA-256, SHA-384 и SHA-512).
xxhash64(*cols) Вычисляет хэш-код заданных столбцов с помощью 64-разрядного варианта алгоритма xxHash и возвращает результат в виде длинного столбца.

Функции коллекции

Функция Description
aggregate(col, initialValue, merge[, finish]) Применяет двоичный оператор к исходному состоянию и всем элементам в массиве и сокращает это до одного состояния.
cardinality(col) Возвращает длину массива или карты, хранящейся в столбце.
concat(*cols) Объединяет несколько входных столбцов в один столбец.
element_at(col, extraction) Возвращает элемент массива по заданному индексу (счёт начинается с 1).
exists(col, f) Возвращает, истинно ли утверждение для одного или нескольких элементов в массиве.
filter(col, f) Возвращает массив элементов, для которых предикат содержится в заданном массиве.
forall(col, f) Возвращает, выполняется ли предикат для каждого элемента в массиве.
map_filter(col, f) Возвращает новый столбец карты, пары "ключ-значение" которого удовлетворяют заданной функции предиката.
map_zip_with(col1, col2, f) Объединяет две заданные карты в одну карту, применяя функцию к парам "ключ-значение".
reduce(col, initialValue, merge[, finish]) Применяет двоичный оператор к исходному состоянию и всем элементам в массиве и сокращает это до одного состояния.
reverse(col) Возвращает обратную строку или массив с элементами в обратном порядке.
size(col) Возвращает длину массива или карты, хранящейся в столбце.
transform(col, f) Возвращает массив элементов после применения преобразования к каждому элементу в входном массиве.
transform_keys(col, f) Применяет функцию к каждой паре "ключ-значение" в карте и возвращает карту с результатами этих приложений в качестве новых ключей для пар.
transform_values(col, f) Применяет функцию к каждой паре "ключ-значение" в карте и возвращает карту с результатами этих приложений в качестве новых значений для пар.
try_element_at(col, extraction) Возвращает элемент массива по заданному индексу (на основе 1).
zip_with(left, right, f) Объедините два заданных массива поэлементно в один массив с помощью функции.

Функции массива

Функция Description
array(*cols) Создает новый столбец типа массива из исходных столбцов или их имен.
array_append(col, value) Возвращает новый столбец массива путем добавления значения к существующему столбцу массива.
array_compact(col) Удаляет значения NULL из массива.
array_contains(col, value) Возвращает логическое значение, указывающее, содержит ли массив заданное значение: null, если массив равен null, true, если массив содержит заданное значение, и false в противном случае.
array_distinct(col) Удаляет повторяющиеся значения из массива.
array_except(col1, col2) Возвращает новый массив, содержащий элементы, присутствующих в col1, но не в col2, без дубликатов.
array_insert(arr, pos, value) Вставляет элемент в заданный массив по указанному индексу массива.
array_intersect(col1, col2) Возвращает новый массив, содержащий пересечение элементов в col1 и col2 без дубликатов.
array_join(col, delimiter[, null_replacement]) Возвращает строковый столбец путем объединения элементов столбца входного массива с помощью разделителя.
array_max(col) Возвращает максимальное значение массива.
array_min(col) Возвращает минимальное значение массива.
array_position(col, value) Находит позицию первого вхождения заданного значения в заданном массиве.
array_prepend(col, value) Возвращает массив, содержащий заданный элемент в качестве первого элемента и остальные элементы из исходного массива.
array_remove(col, element) Удалите все элементы, равные элементу из данного массива.
array_repeat(col, count) Создает массив, содержащий столбец, повторяющийся несколько раз.
array_size(col) Возвращает общее количество элементов в массиве.
array_sort(col[, comparator]) Сортирует входной массив в порядке возрастания.
array_union(col1, col2) Возвращает новый массив, содержащий объединение элементов в col1 и col2, без дубликатов.
arrays_overlap(a1, a2) Возвращает логический столбец, указывающий, имеют ли входные массивы общие элементы, отличные от NULL; возвращает true, если такие элементы есть, null, если массивы не содержат общих элементов, но не являются пустыми, а хотя бы один из них содержит элемент NULL, и false в противном случае.
arrays_zip(*cols) Возвращает объединенный массив структур, в которых структуры N-th содержат все значения N-th входных массивов.
flatten(col) Создает один массив из массива массивов.
get(col, index) Возвращает элемент массива по заданному индексу (начиная с 0).
sequence(start, stop[, step]) Создайте последовательность целых чисел от начала до конца, увеличивая на заданный шаг.
shuffle(col[, seed]) Создает случайное перемещение заданного массива.
slice(x, start, length) Возвращает новый столбец массива путем среза столбца входного массива из начального индекса в определенную длину.
sort_array(col[, asc]) Сортирует входной массив в порядке возрастания или убывания по естественному упорядочению элементов массива.

Функции структуры

Функция Description
named_struct(*cols) Создает структуру с заданными именами полей и значениями.
struct(*cols) Создает столбец структуры.

Функции карты

Функция Description
create_map(*cols) Создает новый столбец карты из четного количества входных столбцов или ссылок на столбцы.
map_concat(*cols) Возвращает объединение всех заданных карт.
map_contains_key(col, value) Возвращает значение true, если карта содержит ключ.
map_entries(col) Возвращает неупорядоченный массив всех записей в данной карте.
map_from_arrays(col1, col2) Создает новую карту из двух массивов.
map_from_entries(col) Преобразует массив записей пар "ключ-значение" (структур с двумя полями) в карту.
map_keys(col) Возвращает неупорядоченный массив, содержащий ключи карты.
map_values(col) Возвращает неупорядоченный массив, содержащий значения карты.
str_to_map(text[, pairDelim, keyValueDelim]) Преобразует строку в карту после разделения текста на пары "ключ-значение" с помощью разделителей.

Агрегатные функции

Функция Description
any_value(col[, ignoreNulls]) Возвращает некоторое значение col для группы строк.
approx_count_distinct(col[, rsd]) Возвращает новый столбец, который оценивает приблизительное количество отдельных элементов в указанном столбце или группе столбцов.
approx_percentile(col, percentage[, accuracy]) Возвращает приблизительный процентиль числового столбца col, который является наименьшим значением в упорядоченных значениях col (отсортированных от наименьшего до наибольшего) таким образом, что не более процента значений col меньше значения или равно значению.
approx_top_k(col, k, maxItemsTracked) Возвращает наиболее часто возникающие значения элементов в строке, логическом значении, дате, метке времени или числовом столбце вместе с их приблизительным числом.
array_agg(col) Возвращает список объектов с дубликатами.
avg(col) Возвращает среднее значение в группе.
bit_and(col) Возвращает битовое значение AND всех входных значений, отличных от NULL, или значение NULL, если нет.
bit_or(col) Возвращает битовое значение OR всех входных значений, отличных от NULL, или значение NULL, если нет.
bit_xor(col) Возвращает битовую XOR всех входных значений, отличных от NULL, или значение NULL, если нет.
bitmap_construct_agg(col) Возвращает растровое изображение с позициями битов, заданных из всех значений из входного столбца.
bitmap_or_agg(col) Возвращает растровое изображение, являющееся результатом побитового ИЛИ всех растровых изображений из входного столбца.
bool_and(col) Возвращает true, если все значения col истинны.
bool_or(col) Возвращает значение true, если по крайней мере одно значение col имеет значение true.
collect_list(col) Собирает значения из столбца в список, сохраняет повторяющиеся и возвращает этот список объектов.
collect_set(col) Собирает значения из столбца в набор, устраняя дубликаты, и возвращает этот набор объектов.
corr(col1, col2) Возвращает новый столбец для коэффициента корреляции Pearson для col1 и col2.
count(col) Возвращает количество элементов в группе.
count_distinct(col, *cols) Возвращает новый столбец для подсчета уникальных значений в столбце или столбцах.
count_if(col) Возвращает число значений TRUE для col.
count_min_sketch(col, eps, confidence[, seed]) Возвращает скетч столбца с заданными параметрами esp, доверительной вероятностью и начальным значением.
covar_pop(col1, col2) Возвращает новый столбец для ковариации популяции col1 и col2.
covar_samp(col1, col2) Возвращает новый столбец для выборочной ковариации col1 и col2.
every(col) Возвращает true, если все значения col истинны.
first(col[, ignorenulls]) Возвращает первое значение в группе.
first_value(col[, ignoreNulls]) Возвращает первое значение col для группы строк.
grouping(col) Указывает, является ли указанный столбец в GROUP BY списке агрегированным или нет, возвращает значение 1 для агрегированного или 0 для не агрегированных в результирующем наборе.
grouping_id(*cols) Возвращает уровень группировки, равный
histogram_numeric(col, nBins) Вычисляет гистограмму на числовом "col" с помощью nb bins.
hll_sketch_agg(col[, lgConfigK]) Возвращает обновляемое двоичное представление объекта Datasketches HllSketch, настроенное с помощью lgConfigK arg.
hll_union_agg(col[, allowDifferentLgConfigK]) Возвращает обновляемое двоичное представление объекта Datasketches HllSketch, созданное путем объединения ранее созданных экземпляров Datasketches HllSketch через экземпляр Union Datasketches.
kurtosis(col) Возвращает куртоз значений в группе.
last(col[, ignorenulls]) Возвращает последнее значение в группе.
last_value(col[, ignoreNulls]) Возвращает последнее значение col для группы строк.
listagg(col[, delimiter]) Возвращает объединение входных значений, отличных от NULL, разделенных разделителем.
listagg_distinct(col[, delimiter]) Возвращает объединение отдельных входных значений, отличных от NULL, разделенных разделителем.
max(col) Возвращает максимальное значение выражения в группе.
max_by(col, ord) Возвращает значение из параметра col, связанного с максимальным значением из параметра ord.
mean(col) Возвращает среднее значение в группе.
median(col) Возвращает медиану значений в группе.
min(col) Возвращает минимальное значение выражения в группе.
min_by(col, ord) Возвращает значение из параметра col, связанного с минимальным значением из параметра ord.
mode(col[, deterministic]) Возвращает наиболее частое значение в группе.
percentile(col, percentage[, frequency]) Возвращает точные процентили числового столбца expr по заданным процентам с диапазоном значений [0.0, 1.0].
percentile_approx(col, percentage[, accuracy]) Возвращает приблизительный процентиль числового столбца col, который является наименьшим значением в упорядоченных значениях col (отсортированных от наименьшего до наибольшего) таким образом, что не более процента значений col меньше значения или равно значению.
product(col) Возвращает продукт значений в группе.
regr_avgx(y, x) Возвращает среднее значение независимой переменной для пар, отличных от NULL, в группе, где y является зависимой переменной, а x — независимой переменной.
regr_avgy(y, x) Возвращает среднее значение зависимой переменной для пар без null в группе, где y является зависимой переменной, а x — независимой переменной.
regr_count(y, x) Возвращает количество пар чисел, отличных от NULL, в группе, где y является зависимой переменной, а x — независимой переменной.
regr_intercept(y, x) Возвращает пересечение линии простой линейной регрессии для пар без null в группе, где y является зависимой переменной, а x — независимой переменной.
regr_r2(y, x) Возвращает коэффициент определения пар, отличных от NULL, в группе, где y является зависимой переменной, а x — независимой переменной.
regr_slope(y, x) Возвращает наклон линейной регрессии для ненулевых пар в группе, где y является зависимой переменной, а x — независимой переменной.
regr_sxx(y, x) Возвращает REGR_COUNT(y, x) * VAR_POP(x) для пар, отличных от NULL в группе, где y является зависимой переменной и x является независимой переменной.
regr_sxy(y, x) Возвращает REGR_COUNT(y, x) * COVAR_POP(y, x) для ненулевой пары в группе, где y является зависимой переменной и x является независимой переменной.
regr_syy(y, x) Возвращает REGR_COUNT(y, x) * VAR_POP(y) для пар, отличных от NULL в группе, где y является зависимой переменной и x является независимой переменной.
skewness(col) Возвращает отклонение значений в группе.
some(col) Возвращает значение true, если по крайней мере одно значение col имеет значение true.
std(col) Псевдоним для stddev_samp.
stddev(col) Псевдоним для stddev_samp.
stddev_pop(col) Возвращает выборочное стандартное отклонение выражения в группе.
stddev_samp(col) Возвращает несмещённое стандартное отклонение выборки выражения в группе.
string_agg(col[, delimiter]) Возвращает объединение входных значений, отличных от NULL, разделенных разделителем.
string_agg_distinct(col[, delimiter]) Возвращает объединение отдельных входных значений, отличных от NULL, разделенных разделителем.
sum(col) Возвращает сумму всех значений в выражении.
sum_distinct(col) Возвращает сумму различных значений в выражении.
try_avg(col) Возвращает среднее значение, вычисляемое из значений группы, и результатом является значение NULL при переполнении.
try_sum(col) Возвращает сумму, вычисляемую из значений группы, и результатом является значение NULL при переполнении.
var_pop(col) Возвращает дисперсию популяции значений в группе.
var_samp(col) Возвращает несмещённую выборочную дисперсию значений в группе.
variance(col) Псевдоним для var_samp

Функции окна

Функция Description
cume_dist() Возвращает совокупное распределение значений в секции окна, т. е. долю строк, находящихся под текущей строкой.
dense_rank() Возвращает ранг строк в разделе окна без каких-либо пробелов.
lag(col[, offset, default]) Возвращает значение, которое является смещением строк перед текущей строкой, и значение по умолчанию, если до текущей строки меньше строк смещения.
lead(col[, offset, default]) Возвращает значение, которое является смещением строк после текущей строки, и значение по умолчанию, если после текущей строки меньше строк смещения.
nth_value(col, offset[, ignoreNulls]) Возвращает значение, которое является строкой смещения рамки окна (подсчет от 1), а значение NULL, если размер кадра окна меньше строк смещения.
ntile(n) Возвращает идентификатор группы ntile (от 1 до n включительно) в упорядоченном разделе окна.
percent_rank() Возвращает относительный ранг (т. е.
rank() Возвращает ранг строк в оконном разделе.
row_number() Возвращает последовательное число, начиная с 1 в секции окна.

Функции генератора

Функция Description
explode(col) Возвращает новую строку для каждого элемента в заданном массиве или карте.
explode_outer(col) Возвращает новую строку для каждого элемента в заданном массиве или карте.
inline(col) Преобразует массив структур в таблицу.
inline_outer(col) Преобразует массив структур в таблицу.
posexplode(col) Возвращает новую строку для каждого элемента с положением в заданном массиве или карте.
posexplode_outer(col) Возвращает новую строку для каждого элемента с положением в заданном массиве или карте.
stack(*cols) Разделяет col1, ..., colk на n строк.

Функции преобразования разделения на разделы

Функция Description
partitioning.years(col) Преобразование меток времени и дат для разделения данных по годам.
partitioning.months(col) Преобразование меток времени и дат для секционирования данных в месяцы.
partitioning.days(col) Преобразование меток времени и дат для разделения данных на дни.
partitioning.hours(col) Преобразование меток времени для разделения данных на часы.
partitioning.bucket(numBuckets, col) Преобразование для любого типа, которое разбивает на секции на основе хэша входного столбца.

Геопространственные функции H3

Функция Description
h3_boundaryasgeojson(col) Возвращает границу ячейки H3 в формате GeoJSON
h3_boundaryaswkb(col) Возвращает границу ячейки H3 в формате WKB
h3_boundaryaswkt(col) Возвращает границу ячейки H3 в формате WKT
h3_centerasgeojson(col) Возвращает центр ячейки H3 в формате GeoJSON
h3_centeraswkb(col) Возвращает центр ячейки H3 в формате WKB
h3_centeraswkt(col) Возвращает центр ячейки H3 в формате WKT
h3_compact(col) Сжимает входной набор идентификаторов ячеек H3 максимально эффективно.
h3_coverash3(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде целых чисел, соответствующих шестиугольникам или пентагонам указанного разрешения, которые минимально охватывают входную линейную или площадную географию.
h3_coverash3string(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде строк, соответствующих шестиугольникам или пятиугольникам указанного разрешения, которые минимально охватывают входные линейные или плоскостные географические данные.
h3_distance(col1,col2) Возвращает расстояние по сетке между двумя идентификаторами ячеек H3
h3_h3tostring(col) Преобразует идентификатор ячейки H3 в строку, представляющую идентификатор ячейки в виде шестнадцатеричной строки.
h3_hexring(col1,col2) Возвращает массив идентификаторов ячеек H3, которые образуют полое шестиугольное кольцо, центрированное в исходной ячейке H3, и которые находятся на сеточном расстоянии k от этой исходной ячейки H3.
h3_ischildof(col1,col2) Возвращает True, если первый идентификатор ячейки H3 является дочерним второму идентификатору ячейки H3.
h3_ispentagon(col) Возвращает значение True , если входной идентификатор ячейки H3 представляет пентагон
h3_isvalid(col) Возвращает True, если входные данные представляют допустимый идентификатор ячейки H3
h3_kring(col1,col2) Возвращает идентификаторы ячеек H3, находящиеся на расстоянии в сетке k от идентификатора исходной ячейки
h3_kringdistances(col1,col2) Возвращает все идентификаторы ячеек H3 (представленные в виде целых чисел или строк) в пределах расстояния k в сетке от исходного идентификатора ячейки H3, а также их расстояние от исходного идентификатора ячейки H3.
h3_longlatash3(col1,col2,col3) Возвращает идентификатор ячейки H3 (как BIGINT), соответствующий предоставленной долготе и широте в указанном разрешении.
h3_longlatash3string(col1,col2,col3) Возвращает идентификатор ячейки H3 (в виде строки), соответствующий предоставленной долготе и широте в указанном разрешении.
h3_maxchild(col1,col2) Возвращает дочерний элемент максимального значения входной ячейки H3 в указанном разрешении.
h3_minchild(col1,col2) Возвращает дочерний элемент с минимальным значением для входной ячейки H3 на указанном разрешении.
h3_pointash3(col1,col2) Возвращает идентификатор ячейки H3 (в формате BIGINT), соответствующий предоставленной точке при заданном разрешении.
h3_pointash3string(col1,col2) Возвращает идентификатор ячейки H3 (в виде строки), соответствующий предоставленной точке в указанном разрешении.
h3_polyfillash3(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде целых чисел, соответствующих шестнадцатеугольникам или пентагонам указанного разрешения, которые содержатся входными данными географической области
h3_polyfillash3string(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде строк, соответствующих шестиугольникам или пятиугольникам указанного разрешения, которые содержатся во входной географической области.
h3_resolution(col) Возвращает уровень детализации идентификатора ячейки H3
h3_stringtoh3(col) Преобразует строковое представление идентификатора ячейки H3 в его большое целое число
h3_tessellateaswkb(col1,col2) Возвращает массив структур, описывающих чипы, покрывающие географию с указанным разрешением.
h3_tochildren(col1,col2) Возвращает идентификаторы дочерних ячеек H3 для исходной ячейки H3 на указанном разрешении.
h3_toparent(col1,col2) Возвращает идентификатор родительской ячейки H3 для входной ячейки H3 на указанном уровне разрешения.
h3_try_coverash3(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде целых чисел, соответствующих шестиугольникам или пентагонам указанного разрешения, которые минимально охватывают входную линейную или площадную географию.
h3_try_coverash3string(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде строк, соответствующих шестиугольникам или пятиугольникам указанного разрешения, которые минимально охватывают входные линейные или плоскостные географические данные.
h3_try_distance(col1,col2) Возвращает расстояние сетки между двумя идентификаторами ячеек H3 одного разрешения, или None, если расстояние не определено.
h3_try_polyfillash3(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде целых чисел, соответствующих шестнадцатеугольникам или пентагонам указанного разрешения, которые содержатся входными данными географической области
h3_try_polyfillash3string(col1,col2) Возвращает массив идентификаторов ячеек, представленных в виде строк, соответствующих шестиугольникам или пятиугольникам указанного разрешения, которые содержатся во входной географической области.
h3_try_tessellateaswkb(col1,col2) Возвращает массив структур, представляющий микросхемы, охватывающие географию по указанному разрешению, или значение NULL, если геометрия недопустима
h3_try_validate(col) Возвращает входное значение, если оно является допустимой ячейкой H3 или None в противном случае
h3_uncompact(col1,col2) Расширяет входной набор идентификаторов ячеек H3 до указанного разрешения
h3_validate(col) Возвращает входное значение, если оно является допустимой ячейкой H3 или выдает ошибку в противном случае

Геопространственные функции ST

Функция Description
st_addpoint(col1,col2,col3) Добавляет новую точку в положение n-th в входной строке geography или geometry
st_area(col) Возвращает область входного географического или геометрического объекта
st_azimuth(col1,col2) Возвращает азимут на севере от первой точки к второй в радианах [0, 2π)
st_asbinary(col1,col2) Возвращает входное значение Geography или Geometry в формате WKB
st_asewkb(col1,col2) Возвращает входное геометрическое значение в формате EWKB
st_asewkt(col) Возвращает входное значение Geography или Geometry в формате EWKT
st_asgeojson(col) Возвращает входное значение Geography или Geometry в формате GeoJSON
st_astext(col) Возвращает входное значение Geography или Geometry в формате WKT
st_aswkb(col1,col2) Возвращает входное значение Geography или Geometry в формате WKB
st_aswkt(col) Возвращает входное значение Geography или Geometry в формате WKT
st_buffer(col1,col2) Возвращает буфер для исходной геометрии с указанным радиусом
st_boundary(col) Возвращает границу входной геометрии в виде геометрии
st_centroid(col) Возвращает центроид входной геометрии в виде 2D-геометрии точек
st_closestpoint(col1,col2) Возвращает 2D-проекцию точки на первой геометрии, ближайшей к второй геометрии
st_concavehull(col1,col2,col3) Возвращает вогнутую оболочку входной геометрии в виде геометрии с использованием заданного коэффициента длины
st_contains(col1,col2) Возвращает, True если первая геометрия содержит вторую геометрию
st_convexhull(col) Возвращает выпуклую оболочку входной геометрической фигуры как геометрическая фигура.
st_covers(col1,col2) Возвращает, True если первая геометрия охватывает вторую геометрию
st_difference(col1,col2) Возвращает набор точек, отличающийся от двух входных геометрий в виде 2D геометрии
st_dimension(col) Возвращает топологическое измерение 2D-проекции входной геометрии
st_disjoint(col1,col2) Возвращает, True если две геометрии являются несвязанными
st_distance(col1,col2) Возвращает 2D-декартово расстояние между двумя введёнными геометриями
st_distancesphere(col1,col2) Возвращает сферическое расстояние (в метрах) между двумя точками геометрии, измеряемым на сфере, радиус которого является средним радиусом многоточия WGS84
st_distancespheroid(col1,col2) Возвращает геодезическое расстояние (в метрах) между двумя геометрическими точками на эллипсоиде WGS84
st_dump(col) Возвращает массив, содержащий отдельные геометрии в входной геометрии
st_dwithin(col1,col2,col3) Возвращает, True если 2D-декартовое расстояние между двумя входными геометриями меньше или равно расстоянию ввода
st_endpoint(col) Возвращает последнюю точку входной строки или None если она не существует
st_envelope(col) Возвращает 2D-декартовую ось, выравниваемую минимально ограничивающим полем (конверт) входной непустой геометрии в виде геометрии
st_envelope_agg(col) Возвращает конверт всех геометрий в столбце или None, если столбец содержит пустые строки или только значения None.
st_equals(col1,col2) Возвращает, True если две геометрии геометрически равны
st_exteriorring(col) Возвращает внешнее кольцо (оболочку) в виде линейной строки из входного значения Geography или Geometry, представляющего многоугольник.
st_flipcoordinates(col) Меняет местами координаты X и Y входной геометрии
st_geogfromgeojson(col) Анализирует описание GeoJSON и возвращает соответствующее значение Geography
st_geogfromtext(col) Анализирует описание WKT и возвращает соответствующее значение Geography
st_geogfromwkb(col) Анализирует описание входного WKB и возвращает соответствующее значение Geography .
st_geogfromewkt(col) Анализирует описание расширенного Well-Known текста (EWKT) и возвращает соответствующее значение Geography .
st_geogfromwkt(col) Анализирует описание WKT и возвращает соответствующее значение Geography
st_geohash(col1,col2) Возвращает геохеш входных данных геометрии
st_geometryn(col1,col2) Возвращает n-й элемент входного многогранника или None, если он не существует.
st_geometrytype(col) Возвращает тип входного значения Geography или Geometry в виде строки
st_geomfromewkb(col) Анализирует входное описание EWKB и возвращает соответствующее геометрическое значение.
st_geomfromewkt(col) Анализирует описание расширенного Well-Known текста (EWKT) и возвращает соответствующее значение Geometry
st_geomfromgeohash(col) Возвращает поле сетки геохаша, соответствующее входным геохашным значениям в виде геометрии многоугольника 2D.
st_geomfromgeojson(col) Анализирует описание GeoJSON и возвращает соответствующее значение Geometry
st_geomfromtext(col1,col2) Анализирует описание WKT и возвращает соответствующее значение Geometry
st_geomfromwkb(col1,col2) Анализирует входное описание WKB и возвращает соответствующее значение Geometry
st_geomfromwkt(col1,col2) Анализирует описание WKT и возвращает соответствующее значение Geometry
st_intersection(col1,col2) Возвращает пересечение точек двух входных геометрий в виде 2D-геометрии
st_intersects(col1,col2) Возвращает True, если две геометрии пересекаются.
st_interiorringn(col1,col2) Возвращает внутреннее кольцо ввода многоугольника n-th в виде линии
st_isempty(col) Возвращает, True если входное значение Geography или Geometry не содержит пустых точек
st_isvalid(col) Возвращает, True является ли входная геометрия допустимой геометрией в смысле OGC
st_length(col) Возвращает длину входной геометрии или географического значения
st_m(col) Возвращает координату M геометрии входной точки, или None, если геометрия входной точки пуста или не имеет координаты M.
st_makeline(col) Возвращает геометрию линии, точки которой являются непустые точки геометрии в входном массиве геометрий, которые, как ожидается, будут точками, линиями или многоточиями.
st_makepolygon(col1,col2) Создает многоугольник из входной внешней границы и необязательного массива внутренних границ, представленного как закрытые линейные строки
st_multi(col) Возвращает входное значение Geography или Geometry в качестве эквивалентного многопространственного значения, сохраняя исходный SRID
st_ndims(col) Возвращает измерение координат входного географического или геометрического значения
st_npoints(col) Возвращает число непустых точек во входном или геометрическомзначении
st_numgeometries(col) Возвращает количество геометрий в входной геометрии
st_numinteriorrings(col) Возвращает количество внутренних колец входного многоугольника
st_perimeter(col) Возвращает периметр входной географической области или геометрии
st_point(col1,col2,col3) Возвращает 2D-геометрию с заданными координатами x и y и значением SRID
st_pointfromgeohash(col) Возвращает центр поля сетки геохаша, соответствующего входному значению геохеша, в виде 2D-точки.
st_pointn(col1,col2) Возвращает 1-ю точку n-й входной строки None или если она не существует
st_removepoint(col1,col2) Удаляет точку n-th из входной строки geography или geometry
st_reverse(col) Изменяет порядок вершин в объекте типа Geography или Geometry.
st_rotate(col1,col2) Вращает входную геометрию вокруг оси Z на заданный угол поворота (в радианах)
st_scale(col1,col2,col3,col4) Масштабирует входную геометрию в направлениях X, Y и Z с помощью заданных факторов.
st_setpoint(col1,col2,col3) Задает точку n-th в входной строке географии или геометрии
st_setsrid(col1,col2) Возвращает новое значение Geometry , SRID которого является указанным значением SRID
st_simplify(col1,col2) Упрощает входную геометрию с помощью алгоритма Douglas-Peucker
st_srid(col) Возвращает SRID входного геопространственного значения
st_startpoint(col) Возвращает первую точку входной строки или None если она не существует
st_touches(col1,col2) Возвращает True, если две геометрии касаются друг друга.
st_transform(col1,col2) Преобразует координаты X и Y входной геометрии в эталонную систему координат (CRS), описанную указанным значением SRID.
st_translate(col1,col2,col3,col4) Перемещает входную геометрию в направлениях X, Y и, при необходимости, Z с помощью предоставленных смещений.
st_union(col1,col2) Возвращает объединение точек двух входных геометрий в виде 2D-геометрии
st_union_agg(col) Возвращает точечный союз всех геометрий в столбце или None если столбец имеет нулевые строки или содержит только None значения.
st_within(col1,col2) Возвращает, True если первая геометрия находится в пределах второй геометрии
st_x(col) Возвращает координату X геометрии входной точки или None если геометрия входной точки пуста
st_xmax(col) Возвращает максимальную координату X входной геометрии или None если входная геометрия пуста
st_xmin(col) Возвращает минимальную координату X входной геометрии или None если входная геометрия пуста
st_y(col) Возвращает координату Y геометрии входной точки или None если геометрия входной точки пуста
st_ymax(col) Возвращает максимальную координату Y входной геометрии или None если входная геометрия пуста
st_ymin(col) Возвращает минимальную координату Y входной геометрии или None если входная геометрия пуста
st_z(col) Возвращает координату Z геометрии входной точки, или None, если геометрия входной точки пуста или не имеет координаты Z.
st_zmax(col) Возвращает максимальную координату Z входной геометрии или если входная геометрия пуста или None не содержит координаты Z.
st_zmin(col) Возвращает минимальную координату Z входной геометрии или если входная геометрия пуста или None не содержит координаты Z.
to_geography(col) Анализирует входное двоичное или строковое значение и возвращает соответствующее значение Geography .
to_geometry(col) Анализирует входное двоичное или строковое значение и возвращает соответствующее значение Geometry
try_to_geography(col) Анализирует входное двоичное или строковое значение и возвращает соответствующее значение Geography или None, если входное значение недопустимо.
try_to_geometry(col) Анализирует входное двоичное или строковое значение и возвращает соответствующее значение Geometry или None, если входное значение недопустимо.

Функции CSV

Функция Description
from_csv(col, schema[, options]) Анализирует столбец, содержащий строку CSV в строку с указанной схемой.
schema_of_csv(csv[, options]) Анализирует строку CSV и выводит ее схему в формате DDL.
to_csv(col[, options]) Преобразует столбец, содержащий StructType, в строку CSV.

Функций JSON

Функция Description
from_json(col, schema[, options]) Анализирует столбец, содержащий строку JSON в MapType с помощью StringType в качестве типа ключей, StructType или ArrayType с указанной схемой.
get_json_object(col, path) Извлекает объект json из строки json по указанному json-пути и возвращает строку json извлеченного объекта.
json_array_length(col) Возвращает количество элементов в самом внешнем массиве JSON.
json_object_keys(col) Возвращает все ключи самого внешнего объекта JSON в виде массива.
json_tuple(col, *fields) Создает новую строку для столбца JSON в соответствии с указанными именами полей.
schema_of_json(json[, options]) Анализирует строку JSON и выводит ее схему в формате DDL.
to_json(col[, options]) Преобразует столбец, содержащий StructType, ArrayType или MapType в строку JSON.

Вариантные функции

Функция Description
is_variant_null(v) Проверьте, является ли значение варианта значением null.
parse_json(col) Анализирует столбец, содержащий строку JSON в VariantType.
schema_of_variant(v) Возвращает схему в формате SQL варианта.
schema_of_variant_agg(v) Возвращает объединенную схему в формате SQL для столбца variant.
try_variant_get(v, path, targetType) Извлекает подвариант из v в соответствии с путем, а затем привести его к targetType.
variant_get(v, path, targetType) Извлекает подвариант из v в соответствии с путем, а затем привести его к targetType.
try_parse_json(col) Анализирует столбец, содержащий строку JSON в VariantType.
to_variant_object(col) Преобразует столбец, содержащий вложенные входные данные (массив/ карта или структуру) в варианты, в которых карты и структуры преобразуются в объекты вариантов, которые неупорядочены в отличие от структур SQL.

ФУНКЦИИ XML

Функция Description
from_xml(col, schema[, options]) Преобразует столбец, содержащий XML-строку, в строку данных с указанной схемой.
schema_of_xml(xml[, options]) Анализирует XML-строку и выводит ее схему в формате DDL.
to_xml(col[, options]) Преобразует столбец, содержащий StructType, в XML-строку.
xpath(xml, path) Возвращает строковый массив значений в узлах XML, которые соответствуют выражению XPath.
xpath_boolean(xml, path) Возвращает значение true, если выражение XPath оценивается как true, или если найден соответствующий узел.
xpath_double(xml, path) Возвращает двойное значение, ноль значения, если совпадение не найдено, или NaN, если совпадение найдено, но значение не является числовым.
xpath_float(xml, path) Возвращает значение с плавающей запятой, значение равное нулю, если совпадение не найдено, или NaN, если совпадение найдено, но значение не является числовым.
xpath_int(xml, path) Возвращает целочисленное значение или нулевое значение, если совпадение не найдено, или совпадение найдено, но значение не является числовым.
xpath_long(xml, path) Возвращает длинное целое значение или нулевое значение, если совпадение не найдено, или совпадение найдено, но значение не является числовым.
xpath_number(xml, path) Возвращает двойное значение, ноль значения, если совпадение не найдено, или NaN, если совпадение найдено, но значение не является числовым.
xpath_short(xml, path) Возвращает короткое целое значение или нулевое значение, если совпадение не найдено, или совпадение найдено, но значение не является числовым.
xpath_string(xml, path) Возвращает текстовое содержимое первого xml-узла, соответствующего выражению XPath.

Функции URL-адреса

Функция Description
parse_url(url, partToExtract[, key]) Извлекает указанную часть из URL-адреса.
try_parse_url(url, partToExtract[, key]) Попробуйте выполнить операцию parse_url, и верните значение NULL, если не удается выполнить синтаксический анализ, вместо вызова ошибки.
url_decode(str) Декодирует строку, закодированную в формате URL, обратно в её исходный формат с использованием специального формата application/x-www-form-urlencoded.
url_encode(str) Кодирует строку в формате URL-кодировки 'application/x-www-form-urlencoded'.
try_url_decode(str) Попробуйте выполнить операцию url_decode, но вместо вызова ошибки возвратите значение NULL, если декодирование не может быть выполнено.

Прочие функции

Функция Description
aes_decrypt(input, key[, mode, padding, aad]) Возвращает расшифрованное значение входных данных с помощью AES в режиме с заполнением.
aes_encrypt(input, key[, mode, padding, iv, aad]) Возвращает зашифрованное значение входных данных с помощью AES в заданном режиме с указанным заполнением.
assert_true(col[, errMsg]) Возвращает значение NULL, если входной столбец имеет значение true; Вызывает исключение с предоставленным сообщением об ошибке в противном случае.
bitmap_and_agg(col) Возвращает побитовое изображение и все растровые изображения из входного столбца.
bitmap_bit_position(col) Возвращает битовое положение для заданного входного столбца.
bitmap_bucket_number(col) Возвращает номер контейнера для заданного входного столбца.
bitmap_count(col) Возвращает количество битов набора в входном растровом рисунке.
current_catalog() Возвращает текущий каталог.
current_database() Возвращает текущую базу данных.
current_schema() Возвращает текущую схему.
current_user() Возвращает текущего пользователя.
hll_sketch_estimate(col) Возвращает предполагаемое количество уникальных значений, учитывая двоичное представление объекта Datasketches HllSketch.
hll_union(col1, col2[, allowDifferentLgConfigK]) Объединяет два двоичных представления объектов Datasketches HllSketch с помощью объекта Datasketches Union.
input_file_block_length() Возвращает длину считываемого блока или -1, если он недоступен.
input_file_block_start() Возвращает начальное смещение считываемого блока или -1, если смещение недоступно.
input_file_name() Создает строковый столбец для имени файла текущей задачи Spark.
java_method(*cols) Вызывает метод с использованием рефлексии.
kll_merge_agg_bigint(col[, k]) Агрегатная функция: объединяет двоичные представления KllLongsSketch и возвращает объединенный эскиз.
kll_merge_agg_double(col[, k]) Агрегатная функция: объединяет двоичные представления KllDoublesSketch и возвращает объединенный эскиз.
kll_merge_agg_float(col[, k]) Агрегатная функция: объединяет двоичные представления KllFloatsSketch и возвращает объединенный эскиз.
kll_sketch_agg_bigint(col[, k]) Агрегатная функция: возвращает компактное двоичное представление datasketches KllLongsSketch, созданное со значениями в входном столбце.
kll_sketch_agg_double(col[, k]) Агрегатная функция: возвращает компактное двоичное представление объекта Datasketches KllDoublesSketch, созданное со значениями в входном столбце.
kll_sketch_agg_float(col[, k]) Агрегатная функция: возвращает компактное двоичное представление объекта Datasketches KllFloatsSketch, созданное со значениями в входном столбце.
kll_sketch_get_n_bigint(col) Возвращает количество элементов, собранных в эскизе KLL bigint.
kll_sketch_get_n_double(col) Возвращает количество элементов, собранных в двойном эскизе KLL.
kll_sketch_get_n_float(col) Возвращает количество элементов, собранных в эскизе с плавающей запятой KLL.
kll_sketch_get_quantile_bigint(sketch, rank) Извлекает квантильное значение из эскиза большого объекта KLL с учетом входного ранга.
kll_sketch_get_quantile_double(sketch, rank) Извлекает значение квантильного значения из двойного эскиза KLL с заданным значением входного ранга.
kll_sketch_get_quantile_float(sketch, rank) Извлекает квантильное значение из эскиза с плавающей запятой KLL с заданным значением входного ранга.
kll_sketch_get_rank_bigint(sketch, quantile) Извлекает значение ранжирования из эскиза KLL bigint с учетом входного квантиля.
kll_sketch_get_rank_double(sketch, quantile) Извлекает значение ранжирования из двойного эскиза KLL с учетом входного квантиля.
kll_sketch_get_rank_float(sketch, quantile) Извлекает значение ранжирования из эскиза с плавающей запятой KLL с заданным входным квантилем.
kll_sketch_merge_bigint(left, right) Объединяет два буфера эскиза KLL в один.
kll_sketch_merge_double(left, right) Объединяет два буфера двойного эскиза KLL в один.
kll_sketch_merge_float(left, right) Объединяет два буфера с плавающей запятой KLL в один.
kll_sketch_to_string_bigint(col) Возвращает строку с читаемыми данными о эскизе KLL bigint.
kll_sketch_to_string_double(col) Возвращает строку с читаемыми сведениями о двойном эскизе KLL.
kll_sketch_to_string_float(col) Возвращает строку с читаемыми сведениями о эскизе с плавающей запятой KLL.
monotonically_increasing_id() Создает монотонно увеличивающееся 64-разрядное целое число.
raise_error(errMsg) Создает исключение с предоставленным сообщением об ошибке.
reflect(*cols) Вызывает метод с использованием рефлексии.
session_user() Возвращает имя пользователя текущего контекста выполнения.
spark_partition_id() Столбец для идентификатора раздела.
theta_difference(col1, col2) Возвращает различие набора двух двоичных представлений объектов Datasketches ThetaSketch (элементов в первом эскизе, но не во втором), используя объект Datasketches ANotB.
theta_intersection(col1, col2) Возвращает пересечение двух двоичных представлений объектов Datasketches ThetaSketch с помощью объекта Пересечения Datasketches.
theta_intersection_agg(col) Агрегатная функция: возвращает компактное двоичное представление datasketches ThetaSketch, которое является пересечением эскизов Theta в входном столбце.
theta_sketch_agg(col[, lgNomEntries]) Агрегатная функция: возвращает компактное двоичное представление Datasketches ThetaSketch со значениями в входном столбце, настроенным с номинальными записями lgNomEntries.
theta_sketch_estimate(col) Возвращает предполагаемое число уникальных значений, учитывая двоичное представление Datasketches ThetaSketch.
theta_union(col1, col2[, lgNomEntries]) Объединяет два двоичных представления объектов Datasketches ThetaSketch с помощью объекта Union Datasketches.
theta_union_agg(col[, lgNomEntries]) Агрегатная функция: возвращает компактное двоичное представление datasketches ThetaSketch, которое является объединением эскизов Theta в входном столбце.
try_aes_decrypt(input, key[, mode, padding, aad]) Попробуйте выполнить aes_decrypt операцию, но возвращает значение NULL, а не вызывает ошибку, если расшифровка не может быть выполнена.
try_reflect(*cols) Попробуйте выполнить reflect операцию, но возвращайте значение NULL вместо того, чтобы вызвать ошибку, если метод вызова выбрасывает исключение.
typeof(col) Возвращает строку типа в формате DDL для типа данных входного элемента.
user() Возвращает текущего пользователя.
uuid() Возвращает строку универсального уникального идентификатора (UUID).
version() Возвращает версию Spark.

Функции UDF, UDTF, UDT

Функция Description
call_udf(udfName, *cols) Вызов определяемой пользователем функции.
pandas_udf([f, returnType, functionType]) Создает определяемую пользователем функцию pandas (a.k.a.
udf([f, returnType, useArrow]) Создает определяемую пользователем функцию (UDF).
udtf([cls, returnType, useArrow]) Создает определяемую пользователем функцию таблицы (UDTF).
unwrap_udt(col) Распаковать столбец определяемого пользователем типа данных в его базовый тип.

Функции с табличным значением

Функция Description
TableValuedFunction.collations() Получите все коллации строк в Spark SQL.
TableValuedFunction.explode(collection) Возвращает DataFrame, содержащий новую строку для каждого элемента в переданном массиве или карте.
TableValuedFunction.explode_outer(collection) Возвращает кадр данных, содержащий новую строку для каждого элемента с положением в заданном массиве или карте.
TableValuedFunction.inline(input) Преобразует массив структур в таблицу.
TableValuedFunction.inline_outer(input) Преобразует массив структур в таблицу.
TableValuedFunction.json_tuple(input, *fields) Создает новую строку для столбца JSON в соответствии с указанными именами полей.
TableValuedFunction.posexplode(collection) Возвращает кадр данных, содержащий новую строку для каждого элемента с положением в заданном массиве или карте.
TableValuedFunction.posexplode_outer(collection) Возвращает кадр данных, содержащий новую строку для каждого элемента с положением в заданном массиве или карте.
TableValuedFunction.python_worker_logs() Возвращает кадр данных журналов, собранных из рабочих ролей Python.
TableValuedFunction.range(start[, end, ...]) Создайте DataFrame с одним столбцом типа pyspark.sql.types.LongType под названием id, содержащим элементы в диапазоне от начала до конца (не включая) с заданным шагом.
TableValuedFunction.sql_keywords() Получить ключевые слова Spark SQL.
TableValuedFunction.stack(n, *fields) Разделяет col1, ..., colk на n строк.
TableValuedFunction.variant_explode(input) Разделяет вариантный объект или массив на несколько строк, содержащих его поля или элементы.
TableValuedFunction.variant_explode_outer(input) Разделяет вариантный объект или массив на несколько строк, содержащих его поля или элементы.