次の方法で共有


PySpark 関数

このページでは、Databricks で使用できる PySpark SQL 関数の一覧と、対応するリファレンス ドキュメントへのリンクを示します。

通常の関数

機能 Description
broadcast(df) ブロードキャスト結合で使用するのに十分なサイズの DataFrame をマークします。
call_function(funcName, *cols) SQL 関数を呼び出します。
col(col) 指定された列名に基づいて列を返します。
column(col) 指定された列名に基づいて列を返します。
lit(col) リテラル値の列を作成します。
expr(str) 式文字列を解析して、それが表す列に変換します

条件付き関数

機能 Description
coalesce(*cols) null 以外の最初の列を返します。
ifnull(col1, col2) col1 が null の場合は col2 を返し、それ以外の場合は col1 を返します。
nanvl(col1, col2) NaN でない場合は col1 を返し、col1 が NaN の場合は col2 を返します。
nullif(col1, col2) col1 が col2 の場合は null、それ以外の場合は col1 を返します。
nullifzero(col) col が 0 の場合は null、それ以外の場合は col を返します。
nvl(col1, col2) col1 が null の場合は col2 を返し、それ以外の場合は col1 を返します。
nvl2(col1, col2, col3) col1 が null でない場合は col2 を返し、それ以外の場合は col3 を返します。
when(condition, value) 一連の条件を評価して、考えられる結果式のうちの 1 つを返します。
zeroifnull(col) col が null の場合は 0 を返し、それ以外の場合は col を返します。

パターン マッチング関数

機能 Description
equal_null(col1, col2) NULL 以外のオペランドの EQUAL(=) 演算子と同じ結果を返しますが、両方が null の場合は true、いずれかのオペランドが null の場合は false を返します。
ilike(str, pattern[, escapeChar]) str が大文字と小文字を区別せずにエスケープ パターンと一致する場合は true、引数が null の場合は null、それ以外の場合は false を返します。
isnan(col) 列が NaN の場合に true を返す式。
isnotnull(col) col が null でない場合は true、それ以外の場合は false を返します。
isnull(col) 列が null の場合に true を返す式。
like(str, pattern[, escapeChar]) str がエスケープを持つパターンと一致する場合は true、引数が null の場合は null、それ以外の場合は false を返します。
regexp(str, regexp) str が Java regexp と一致する場合は true、それ以外の場合は false を返します。
regexp_like(str, regexp) str が Java regexp と一致する場合は true、それ以外の場合は false を返します。
rlike(str, regexp) str が Java regexp と一致する場合は true、それ以外の場合は false を返します。

並べ替え関数

機能 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
abs(col) 指定された列または式の絶対値を計算します。
acos(col) 指定された列または式の逆コサイン (アークコサインとも呼ばれます) を計算します。
acosh(col) 指定された列または式の逆双曲線余弦 (arcosh とも呼ばれます) を計算します。
asin(col) 入力列の逆サインを計算します。
asinh(col) 入力列の逆双曲線正弦を計算します。
atan(col) 入力列の逆タンジェントを計算します。
atan2(col1, col2) 平面の正の x 軸と座標で指定された点の間の角度をラジアンで計算する
atanh(col) 入力列の逆双曲線正接を計算します。
bin(col) 指定された列のバイナリ値の文字列形式を返します。
bround(col[, scale]) 小数点以下桁数が 0 の場合HALF_EVEN丸めモードを使用して、指定した値を丸め、小数点以下桁数 >を 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) 指定された値から 1 を引いた指数を計算します。
factorial(col) 指定された値の階乗を計算します。
floor(col[, scale]) 指定された値の床を計算します。
greatest(*cols) null 値をスキップして、列名の一覧の最大値を返します。
hex(col) 指定された列の 16 進値 ( StringTypeBinaryTypeIntegerType、LongType ) を計算 します
hypot(col1, col2) 中間オーバーフローやアンダーフローなしで sqrt(a^2 + b^2) を計算します。
least(*cols) null 値をスキップして、列名のリストの最小値を返します。
ln(col) 引数の自然対数を返します。
log(arg1[, arg2]) 2 番目の引数の最初の引数ベースの対数を返します。
log10(col) Base 10 の指定された値の対数を計算します。
log1p(col) 指定された値に 1 を加算した自然対数を計算します。
log2(col) 引数の底 2 の対数を返します。
negate(col) 負の値を返します。
negative(col) 負の値を返します。
pi() Pi を返します。
pmod(dividend, divisor) 被除数の正の値を返します。
positive(col) 値を返します。
pow(col1, col2) 第1引数を第2引数で累乗した値を返します。
power(col1, col2) 第1引数を第2引数で累乗した値を返します。
radians(col) 度単位で測定された角度を、ラジアン単位で測定されたほぼ同等の角度に変換します。
rand([seed]) [0.0, 1.0) で均一に分布する独立かつ同一分布 (i.i.d.) のサンプルを含むランダムな列を生成します。
randn([seed]) 標準正規分布から独立同一分布のサンプルを含むランダムな列を生成します。
rint(col) 引数の値に最も近く、数学整数に等しい double 値を返します。
round(col[, scale]) スケールが >= 0 の場合、HALF_UP丸めモードを使用して小数点以下の桁数に丸めるか、スケールが < 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) 16進数の反転。
uniform(min, max[, seed]) 指定した数値範囲で独立同一分布 (i.i.d.) に従うランダムな値を返します。
width_bucket(v, min, max, numBucket) 評価後にこの式の値が当てはまるバケット番号を返します。

文字列関数

機能 Description
ascii(col) 文字列列の最初の文字の数値を計算します。
base64(col) バイナリ列の BASE64 エンコードを計算し、文字列列として返します。
bit_length(col) 指定した文字列列のビット長を計算します。
btrim(str[, trim]) str から先頭と末尾のトリム文字を削除します。
char(col) col と同等のバイナリを持つ ASCII 文字を返します。
char_length(str) 文字列データの文字長またはバイナリ データのバイト数を返します。
character_length(str) 文字列データの文字長またはバイナリ データのバイト数を返します。
collate(col, collation) 指定した照合順序を持つ特定の列をマークします。
collation(col) 指定された列の照合順序名を返します。
concat_ws(sep, *cols) 指定された区切り記号を使用して、複数の入力文字列列を 1 つの文字列列に連結します。
contains(left, right) ブール値を返します。
decode(col, charset) 指定された文字セット ( US-ASCIIISO-8859-1UTF-8UTF-16BEUTF-16LEUTF-16UTF-32のいずれか) を使用して、バイナリから文字列に最初の引数を計算します。
elt(*inputs) n 番目の入力を返します。たとえば、n が 2 の場合は input2 を返します。
encode(col, charset) 指定された文字セット ( US-ASCIIISO-8859-1UTF-8UTF-16BEUTF-16LEUTF-16UTF-32のいずれか) を使用して、文字列からバイナリに最初の引数を計算します。
endswith(str, suffix) ブール値を返します。
find_in_set(str, str_array) コンマ区切りリスト (strArray) 内の指定された文字列 (str) のインデックス (1 から始まる) を返します。
format_number(col, d) 数値 X を #,--#,--#.--などの形式に書式設定し、丸めモードを使用して小数点以下の桁数を d に丸め、結果を文字列として返HALF_EVEN。
format_string(format, *cols) 引数を printf スタイルで書式設定し、結果を文字列列として返します。
initcap(col) 各単語の最初の文字を文の大文字に変換します。
instr(str, substr) 指定された文字列内で最初に出現するサブストリップ列の位置を見つけます。
is_valid_utf8(str) 入力が有効な UTF-8 文字列の場合は true を返し、それ以外の場合は false を返します。
lcase(str) すべての文字が小文字に変更された str を返します。
left(str, len) 文字列 str から左端の len (len を文字列型にできます) 文字を返します。len が 0 以下の場合、結果は空の文字列になります。
length(col) 文字列データの文字長またはバイナリ データのバイト数を計算します。
levenshtein(left, right[, threshold]) 指定された 2 つの文字列の Levenshtein 距離を計算します。
locate(substr, str[, pos]) 位置 pos の後で、文字列の列内で最初に出現するサブストリングの位置を見つけます。
lower(col) 文字列式を小文字に変換します。
lpad(col, len, pad) 文字列の列をパッドで左詰めし、幅をlenにします。
ltrim(col[, trim]) 指定した文字列値の左端からスペースをトリミングします。
make_valid_utf8(str) すべての無効な UTF-8 バイト シーケンス (ある場合) が Unicode 置換文字 (U+FFFD) に置き換えられる新しい文字列を返します。
mask(col[, upperChar, lowerChar, digitChar, ...]) 指定された文字列値をマスクします。
octet_length(col) 指定した文字列列のバイト長を計算します。
overlay(src, replace, pos[, len]) src のバイト位置から始まり、len バイトに進み、src の指定された部分を置換でオーバーレイします。
position(substr, str[, start]) 位置の開始後に str で最初に見つかった substr の位置を返します。
printf(format, *cols) 引数を printf スタイルで書式設定し、結果を文字列列として返します。
randstr(length[, seed]) 指定した長さの文字列を返します。その文字は、0 から 9、a から z、A から Z のプールからランダムに一様に選択されます。
regexp_count(str, regexp) Java 正規表現パターン regexp が文字列 str で一致する回数を返します。
regexp_extract(str, pattern, idx) 指定した文字列列から、Java regexp に一致する特定のグループを抽出します。
regexp_extract_all(str, regexp[, idx]) java regex regexp と一致し、正規表現グループ インデックスに対応するすべての文字列を str 内で抽出します。
regexp_instr(str, regexp[, idx]) Java regexp と一致し、正規表現グループ インデックスに対応する str 内の最初の部分文字列の位置を返します。
regexp_replace(string, pattern, replacement) regexp と一致する指定した文字列値のすべての部分文字列を置換に置き換えます。
regexp_substr(str, regexp) 文字列 str 内の Java regex regexp と一致する最初の部分文字列を返します。
repeat(col, n) 文字列列を n 回繰り返し、新しい文字列列として返します。
replace(src, search[, replace]) 検索のすべての出現箇所を置換に置き換えます。
right(str, len) 文字列 str から右端の len (len を文字列型にできます) 文字を返します。len が 0 以下の場合、結果は空の文字列になります。
rpad(col, len, pad) 文字列列を右パッドで幅 len に設定します。
rtrim(col[, trim]) 指定した文字列値の右端からスペースをトリミングします。
sentences(string[, language, country]) 文字列を文の配列に分割します。各文は単語の配列です。
soundex(col) 文字列の SoundEx エンコードを返します。
split(str, pattern[, limit]) 指定されたパターンの一致を中心に str を分割します。
split_part(src, delimiter, partNum) str を区切り記号で分割し、要求された分割の一部 (1 から始まる) を返します。
startswith(str, prefix) ブール値を返します。
substr(str, pos[, len]) pos で始まり、長さ len の str の部分文字列、または pos で始まり長さ len のバイト配列のスライスを返します。
substring(str, pos, len) str が String 型の場合は、部分文字列は pos から始まり、長さは len です。または、str がバイナリ型の場合は長さ len のバイト配列のスライスをバイト単位で返します。
substring_index(str, delim, count) 指定した区切り文字 delim が出現する回数 count の前までの文字列 str の部分文字列を返します。
to_binary(col[, format]) 指定された形式に基づいて、入力 col をバイナリ値に変換します。
to_char(col, format) 形式に基づいて col を文字列に変換します。
to_number(col, format) 文字列 'col' を文字列形式 'format' に基づいて数値に変換します。
to_varchar(col, format) 形式に基づいて col を文字列に変換します。
translate(srcCol, matching, replace) srcCol 内の任意の文字を一致する文字で変換します。
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 で符号なし 64 ビット整数として設定されているビット数を返します。引数が NULL の場合は NULL を返します。
bit_get(col, pos) 指定した位置にあるビット (0 または 1) の値を返します。
bitwise_not(col) ビット単位のNOT演算を実行します。
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) 日付/タイムスタンプ/文字列を、2 番目の引数で指定された日付形式で指定された形式の文字列の値に変換します。
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) 指定した日付から 3 文字の省略形の日の名前を返します。
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 WITHOUT 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) 指定した日付から 3 文字の省略された月の名前を返します。
months_between(date1, date2[, roundOff]) 日付 date1 から date2 までの月数を返します。
next_day(date, dayOfWeek) 2 週目の日の引数に基づいて、日付列の値より後の最初の日付を返します。
now() クエリ評価の開始時点での現在のタイムスタンプを返します。
quarter(col) 特定の日付/タイムスタンプの四半期を整数として抽出します。
second(col) 指定した日付の秒を整数として抽出します。
session_window(timeColumn, gapDuration) 列を指定するタイムスタンプを指定してセッション ウィンドウを生成します。
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_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 WITHOUT 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_timestamp(col[, format]) 指定された形式のカラムをタイムスタンプに解析します。
unix_date(col) 1970-01-01 以降の日数を返します。
unix_micros(col) 1970-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]) 既定のタイムゾーンと既定のロケールを使用して、指定されたパターン ('yyyy-MM-dd HH:mm:ss'、 既定) を Unix タイム スタンプ (秒単位) に変換すると、失敗した場合は null が返されます。
weekday(col) 日付/タイムスタンプの曜日を返します (0 = 月曜日、1 = 火曜日、...、6 = 日曜日)。
weekofyear(col) 指定した日付の週番号を整数で抽出します。
window(timeColumn, windowDuration[, ...]) 列を指定するタイムスタンプを指定すると、行を 1 つ以上の時間枠にバケット化します。
window_time(windowColumn) ウィンドウ列からイベント時間を計算します。
year(col) 特定の日付/タイムスタンプの年を整数として抽出します。

ハッシュ関数

機能 Description
crc32(col) バイナリ列の循環冗長チェック値 (CRC32) を計算し、その値を bigint として返します。
hash(*cols) 指定された列のハッシュ コードを計算し、結果を int 列として返します。
md5(col) MD5 ダイジェストを計算し、値を 32 文字の 16 進文字列として返します。
sha(col) sha1 ハッシュ値を col の 16 進文字列として返します。
sha1(col) SHA-1 の 16 進文字列の結果を返します。
sha2(col, numBits) SHA-2 ファミリのハッシュ関数 (SHA-224、SHA-256、SHA-384、SHA-512) の 16 進文字列の結果を返します。
xxhash64(*cols) xxHash アルゴリズムの 64 ビットバリアントを使用して、特定の列のハッシュ コードを計算し、結果を長い列として返します。

コレクション関数

機能 Description
aggregate(col, initialValue, merge[, finish]) 2 項演算子を初期状態と配列内のすべての要素に適用し、これを 1 つの状態に減らします。
array_sort(col[, comparator]) 入力配列を昇順で並べ替えます。
cardinality(col) 列に格納されている配列またはマップの長さを返します。
concat(*cols) 複数の入力列を 1 つの列に連結します。
element_at(col, extraction) 指定された (1 から始まる) インデックスにある配列の要素を返します。
exists(col, f) 配列内の 1 つ以上の要素に対して述語が保持されるかどうかを返します。
filter(col, f) 指定された配列の中で、述語が真になる要素の配列を返します。
forall(col, f) 述語が配列内のすべての要素を保持するかどうかを返します。
map_filter(col, f) キーと値のペアが特定の述語関数を満たす新しいマップ列を返します。
map_zip_with(col1, col2, f) キーと値のペアに関数を適用して、指定された 2 つのマップを 1 つのマップにマージします。
reduce(col, initialValue, merge[, finish]) 2 項演算子を初期状態と配列内のすべての要素に適用し、これを 1 つの状態に減らします。
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) 関数を使用して、指定された 2 つの配列を要素単位で 1 つの配列にマージします。

配列関数

機能 Description
array(*cols) 入力列または列名から新しい配列列を作成します。
array_append(col, value) 既存の配列 col に値を追加して、新しい配列列を返します。
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_union(col1, col2) 重複せずに col1 と col2 の要素の和集合を含む新しい配列を返します。
arrays_overlap(a1, a2) 入力配列に共通の null 以外の要素があるかどうかを示すブール型の列を返します。そうする場合は true を返し、配列に共通の要素が含まれていないが空ではなく、少なくとも 1 つの要素に null 要素が含まれている場合は null を返し、それ以外の場合は false を返します。
arrays_zip(*cols) N 番目の構造体に入力配列のすべての N 番目の値が含まれている構造体の結合された配列を返します。
flatten(col) 配列の集合から 1 つの配列を作成します。
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) 2 つの配列から新しいマップを作成します。
map_from_entries(col) キーと値のペア エントリ (2 つのフィールドを持つ構造体) の配列をマップに変換します。
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 値がその値以下になるような、最小の近似パーセンタイルを返します。
array_agg(col) 重複するオブジェクトの一覧を返します。
avg(col) グループ内の値の平均を返します。
bit_and(col) null 以外のすべての入力値のビットごとの AND を返し、ない場合は null を返します。
bit_or(col) null 以外のすべての入力値のビットごとの OR を返し、ない場合は null を返します。
bit_xor(col) null 以外のすべての入力値のビットごとの XOR を返します。ない場合は null を返します。
bitmap_construct_agg(col) 入力列のすべての値から設定されたビットの位置を持つビットマップを返します。
bitmap_or_agg(col) 入力列のすべてのビットマップのビットごとの OR であるビットマップを返します。
bool_and(col) col のすべての値が true の場合は true を返します。
bool_or(col) col の少なくとも 1 つの値が true の場合は true を返します。
collect_list(col) 列からリストに値を収集し、重複を保持し、このオブジェクトのリストを返します。
collect_set(col) 列からセットに値を収集し、重複を排除し、このオブジェクトのセットを返します。
corr(col1, col2) col1 と col2 のピアソン相関係数の新しい列を返します。
count(col) グループ内のアイテムの数を返します。
count_distinct(col, *cols) col または cols の個別のカウントの新しい列を返します。
count_if(col) col の TRUE 値の数を返します。
count_min_sketch(col, eps, confidence[, seed]) 指定されたesp、信頼度、およびシードを持つ列について、count-min スケッチを返します。
covar_pop(col1, col2) col1 と col2 の母共分散の新しいカラムを返します。
covar_samp(col1, col2) col1 と col2 のサンプル共分散の新しい列を返します。
every(col) col のすべての値が true の場合は true を返します。
first(col[, ignorenulls]) グループ内の最初の値を返します。
first_value(col[, ignoreNulls]) 行のグループの col の最初の値を返します。
grouping(col) GROUP BY リスト内の指定した列を集計するかどうかを示します。集計の場合は 1、結果セットで集計されていない場合は 0 を返します。
grouping_id(*cols) グループ化のレベルを返します。次の値と等しくなります。
histogram_numeric(col, nBins) nb bin を使用して数値 'col' のヒストグラムを計算します。
hll_sketch_agg(col[, lgConfigK]) lgConfigK arg で構成された Datasketches HllSketch の更新可能なバイナリ表現を返します。
hll_union_agg(col[, allowDifferentLgConfigK]) Datasketches Union インスタンスを介して以前に作成した Datasketches HllSketch インスタンスをマージすることによって生成される、Datasketches HllSketch の更新可能なバイナリ表現を返します。
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) ord パラメーターの最大値に関連付けられている col パラメーターから値を返します。
mean(col) グループ内の値の平均を返します。
median(col) グループ内の値の中央値を返します。
min(col) グループ内の式の最小値を返します。
min_by(col, ord) ord パラメーターの最小値に関連付けられている col パラメーターから値を返します。
mode(col[, deterministic]) グループ内で最も頻繁に使用される値を返します。
percentile(col, percentage[, frequency]) 値の範囲が [0.0, 1.0] の指定された割合の数値列 expr の正確なパーセンタイルを返します。
percentile_approx(col, percentage[, accuracy]) 並べ替えられた値(最小から最大の順)である数値列 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) グループ内の null 以外のペアの線形回帰直線の傾きを返します。y は従属変数、x は独立変数です。
regr_sxx(y, x) グループ内の null 以外のペアのREGR_COUNT(y, x) * VAR_POP(x) を返します。ここで、y は従属変数、x は独立変数です。
regr_sxy(y, x) グループ内の null 以外のペアのREGR_COUNT(y, x) * COVAR_POP(y, x) を返します。y は従属変数、x は独立変数です。
regr_syy(y, x) グループ内の null 以外のペアのREGR_COUNT(y, x) * VAR_POP(y) を返します。y は従属変数、x は独立変数です。
skewness(col) グループ内の値の歪度を返します。
some(col) col の少なくとも 1 つの値が true の場合は 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 グループ ID (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 地理空間関数 (Databricks)

機能 Description
h3_boundaryasgeojson(col) GeoJSON 形式の H3 セルの境界を返します。
h3_boundaryaswkb(col) WKB 形式の H3 セルの境界を返します。
h3_boundaryaswkt(col) WKT 形式の H3 セルの境界を返します。
h3_centerasgeojson(col) GeoJSON 形式の H3 セルの中心を返します。
h3_centeraswkb(col) WKB 形式の H3 セルの中心を返します。
h3_centeraswkt(col) WKT 形式の H3 セルの中心を返します。
h3_compact(col) H3 セル ID の入力セットを可能な限り圧縮します
h3_coverash3(col1,col2) 指定された解像度の六角形または五角形として表され、入力された線形または面積の地理を最小限でカバーするセルIDの長整数の配列を返します。
h3_coverash3string(col1,col2) 指定した解像度の六角形または五角形に対応する文字列として表現されたセルIDの配列を返し、入力された線形または面積的な地理を最小限にカバーします。
h3_distance(col1,col2) 2 つの H3 セル ID 間のグリッド距離を返します。
h3_h3tostring(col) H3 セル ID を、セル ID を 16 進文字列として表す文字列に変換します。
h3_hexring(col1,col2) 起点 H3 セルを中心とする中空六角形のリングを形成し、原点 H3 セルからグリッド距離 k にある H3 セル ID の配列を返します。
h3_ischildof(col1,col2) 最初の H3 セル ID が 2 番目の H3 セル ID の子である場合は、 True を返します。
h3_ispentagon(col) 入力 H3 セル ID が五角形を表す場合は、 True を返します。
h3_isvalid(col) 入力が有効な H3 セル ID を表す場合は、 True を返します。
h3_kring(col1,col2) 原点セル ID の (グリッド) 距離 k 内にある H3 セル ID を返します。
h3_kringdistances(col1,col2) 原点 H3 セル ID からのグリッド距離 k 内のすべての H3 セル ID (長整数または文字列として表されます) と、原点 H3 セル ID からの距離を返します
h3_longlatash3(col1,col2,col3) 指定した解像度で指定された経度と緯度に対応する H3 セル ID (BIGINT として) を返します
h3_longlatash3string(col1,col2,col3) 指定した解像度で指定された経度と緯度に対応する H3 セル ID (文字列) を返します
h3_maxchild(col1,col2) 指定した解像度で入力された H3 セルの中で、最大値を持つ子要素を返します。
h3_minchild(col1,col2) 指定した解像度の入力 H3 セルの最小値の子を返します。
h3_pointash3(col1,col2) 指定した解像度で指定されたポイントに対応する H3 セル ID (BIGINT として) を返します
h3_pointash3string(col1,col2) 指定した解像度で指定されたポイントに対応する H3 セル ID (文字列) を返します
h3_polyfillash3(col1,col2) 長整数として表されるセル ID の配列を返します。これは、入力の地域に含まれる指定された解像度の六角形または五角形に対応します。
h3_polyfillash3string(col1,col2) 文字列として表されるセル ID の配列を返します。これは、入力の等角地理に含まれる指定した解像度の六角形または五角形に対応します。
h3_resolution(col) H3 セル ID の解像度を返します。
h3_stringtoh3(col) 文字列表現 H3 セル ID を、その大きな整数表現に変換します
h3_tessellateaswkb(col1,col2) 指定した解像度で geography をカバーするチップを表す構造体の配列を返します。
h3_tochildren(col1,col2) 指定した解像度の入力 H3 セル ID の子 H3 セル ID を返します。
h3_toparent(col1,col2) 入力された H3 セル ID の指定された解像度での親 H3 セル ID を返します。
h3_try_coverash3(col1,col2) 指定された解像度の六角形または五角形として表され、入力された線形または面積の地理を最小限でカバーするセルIDの長整数の配列を返します。
h3_try_coverash3string(col1,col2) 指定した解像度の六角形または五角形に対応する文字列として表現されたセルIDの配列を返し、入力された線形または面積的な地理を最小限にカバーします。
h3_try_distance(col1,col2) 同じ解像度の 2 つの H3 セル ID 間のグリッド距離を返します。未定義の場合はNone
h3_try_polyfillash3(col1,col2) 長整数として表されるセル ID の配列を返します。これは、入力の地域に含まれる指定された解像度の六角形または五角形に対応します。
h3_try_polyfillash3string(col1,col2) 文字列として表されるセル ID の配列を返します。これは、入力の等角地理に含まれる指定した解像度の六角形または五角形に対応します。
h3_try_tessellateaswkb(col1,col2) 指定した解像度で geography をカバーするチップを表す構造体の配列を返します。ジオメトリが無効な場合は null を返します。
h3_try_validate(col) 有効な H3 セルの場合は入力値を返し、それ以外の場合は None を返します。
h3_uncompact(col1,col2) H3 セル ID の入力セットを指定した解像度に非コンパイルします
h3_validate(col) 有効な H3 セルの場合は入力値を返し、それ以外の場合はエラーを出力します。

ST 地理空間関数 (Databricks)

機能 Description
st_addpoint(col1,col2,col3) 入力ライン文字列 Geography または Geometry の n 番目の位置に新しいポイントを追加します。
st_area(col) 入力地理またはジオメトリの領域を返します。
st_asbinary(col1,col2) 入力された Geography または Geometry の値 WKB 形式で返します。
st_asewkb(col1,col2) 入力 Geometry 値を EWKB 形式で返します。
st_asewkt(col) EWKT 形式の入力 Geography または Geometry 値を返します。
st_asgeojson(col) GeoJSON 形式の入力 Geography または Geometry 値を 返します。
st_astext(col) 入力された Geography または Geometry の値 WKT 形式で返します。
st_aswkb(col1,col2) 入力された Geography または Geometry の値 WKB 形式で返します。
st_aswkt(col) 入力された Geography または Geometry の値 WKT 形式で返します。
st_buffer(col1,col2) 指定した半径を使用して入力ジオメトリのバッファーを返します。
st_centroid(col) 入力ジオメトリの重心を 2D ポイント ジオメトリとして返します。
st_concavehull(col1,col2,col3) 指定した長さの比率を使用して、入力ジオメトリの凹型ハルをジオメトリとして返します。
st_contains(col1,col2) 最初のジオメトリに 2 番目のジオメトリが含まれている場合は、 True を返します。
st_convexhull(col) 入力ジオメトリの凸包をジオメトリとして返します。
st_covers(col1,col2) 最初のジオメトリが 2 番目のジオメトリをカバーする場合に True を返します。
st_difference(col1,col2) 2 つの入力ジオメトリの異なる点セットを 2D ジオメトリとして返します。
st_dimension(col) 入力ジオメトリの 2D 投影のトポロジディメンションを返します。
st_disjoint(col1,col2) 2 つのジオメトリが不整合な場合に True を返します。
st_distance(col1,col2) 2 つの入力ジオメトリ間の 2D デカルト距離を返します。
st_distancesphere(col1,col2) 2 点ジオメトリ間の球面距離 (メートル単位) を返します。その半径が WGS84 楕円体の平均半径である球面上で測定されます。
st_distancespheroid(col1,col2) WGS84 楕円体上の 2 点ジオメトリ間の測地距離 (メートル単位) を返します。
st_dwithin(col1,col2,col3) 2 つの入力ジオメトリ間の 2D デカルト距離が入力距離以下の場合に True を返します。
st_endpoint(col) 入力行文字列の最後のポイントを返します。存在しない場合は None します。
st_envelope(col) 入力の空でないジオメトリの 2D デカルト軸揃え最小境界ボックス (エンベロープ) をジオメトリとして返します。
st_envelope_agg(col) 列内のすべてのジオメトリのエンベロープを返します。列に行が 0 の場合、またはNone値のみを含む場合はNoneを返します。
st_equals(col1,col2) 2 つのジオメトリが幾何学的に等しい場合に 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_geogfromwkt(col) WKT の説明を解析し、対応する Geography 値を 返します。
st_geohash(col1,col2) 入力ジオメトリのジオハッシュを返します。
st_geometryn(col1,col2) 入力マルチ ジオメトリの 1 から始まる n 番目の要素を返します。存在しない場合は None を返します。
st_geometrytype(col) 入力 Geography または Geometry 値の型 文字列として返します。
st_geomfromewkb(col) 入力 EWKB の説明を解析し、対応する Geometry 値を返します。
st_geomfromgeohash(col) 入力 geohash 値に対応するジオハシュ グリッド ボックスを 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) 2 つの入力ジオメトリのポイント セット交差を 2D ジオメトリとして返します。
st_intersects(col1,col2) 2 つのジオメトリが交差する場合に True を返します。
st_isempty(col) 入力 True または Geometry 値に空以外のポイントが含まれていない場合にを返します。
st_isvalid(col) 入力ジオメトリが OGC の意味で有効なジオメトリである場合に True を返します。
st_length(col) 入力ジオメトリまたは geography 値の長さを返します。
st_m(col) 入力ポイント ジオメトリの M 座標を返します。入力ポイント ジオメトリが空の場合、または入力ポイント ジオメトリに M 座標がない場合は None を返します。
st_makeline(col) ポイントがジオメトリの入力配列内のジオメトリの空でないポイントであるライン文字列ジオメトリを返します。これは、ポイント、ライン文字列、またはマルチポイントであることが期待されます。
st_makepolygon(col1,col2) 入力外部境界と、閉じたライン文字列として表される内部境界の省略可能な配列から多角形を構築します。
st_multi(col) 入力された Geography 値または Geometry 値を同等のマルチ地理空間値として返し、元の SRID を維持します。
st_ndims(col) 入力された Geography または Geometry 値の座標寸法 返します。
st_npoints(col) 入力 Geography または Geometry 値の空でないポイントの数 返します。
st_numgeometries(col) 入力ジオメトリ内のジオメトリの数を返します。
st_perimeter(col) 入力地理またはジオメトリの境界を返します。
st_point(col1,col2,col3) 指定された x 座標と y 座標と SRID 値を持つ 2D ポイント ジオメトリ を返します。
st_pointfromgeohash(col) 入力 geohash 値に対応するジオハッシュ グリッド ボックスの中心を 2D ポイント ジオメトリとして返します。
st_pointn(col1,col2) 入力ライン文字列の 1 から始まる n 番目のポイントを返します。存在しない場合は None を返します。
st_removepoint(col1,col2) 入力ライン文字列 Geography または Geometry から n 番目の点を削除します。
st_reverse(col) 入力されたGeography または Geometry 値の頂点の順序を反転させます。
st_rotate(col1,col2) 指定した回転角度 (ラジアン単位) で入力ジオメトリを Z 軸の周りに回転します。
st_scale(col1,col2,col3,col4) 指定された係数を使用して、入力ジオメトリを X、Y、Z (省略可能) 方向にスケーリングします
st_setpoint(col1,col2,col3) 入力ライン文字列 Geography または Geometry の n 番目の点を設定します。
st_setsrid(col1,col2) SRID が指定された SRID 値である新しい Geometry 値を返します。
st_simplify(col1,col2) Douglas-Peucker アルゴリズムを使用して入力ジオメトリを簡略化します
st_srid(col) 入力地理空間値の SRID を返します。
st_startpoint(col) 入力行文字列の最初のポイントを返します。存在しない場合は None を返します。
st_touches(col1,col2) 2 つのジオメトリが互いに接する場合に True を返します。
st_transform(col1,col2) 入力ジオメトリの X 座標と Y 座標を、指定された SRID 値によって記述された座標参照システム (CRS) に変換します。
st_translate(col1,col2,col3,col4) 指定されたオフセットを使用して、X、Y、Z (省略可能) 方向の入力ジオメトリを平行移動します
st_union(col1,col2) 2 つの入力ジオメトリのポイント セット和集合を 2D ジオメトリとして返します。
st_union_agg(col) 列内のすべてのジオメトリのポイントごとの和集合を返します。または、列に行が 0 の場合、またはNone値のみが含まれている場合にNoneを返します。
st_within(col1,col2) 最初のジオメトリが 2 番目のジオメトリ内にある場合に 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 座標を返します。入力ポイント ジオメトリが空の場合、または入力ポイントジオメトリに Z 座標がない場合に None します。
st_zmax(col) 入力ジオメトリの最大 Z 座標を返します。入力ジオメトリが空であるか、Z 座標を含まない場合に None します。
st_zmin(col) 入力ジオメトリの最小 Z 座標を返します。入力ジオメトリが空の場合、または Z 座標が含まれていない場合は None を返します。
to_geography(col) 入力 BINARY または文字列値を解析し、対応する Geography 値を返します。
to_geometry(col) 入力 BINARY または文字列値を解析し、対応する Geometry 値を返します。
try_to_geography(col) 入力 BINARY または文字列値を解析し、対応する Geography 値を返します。入力が無効な場合は None します。
try_to_geometry(col) 入力 BINARY または文字列値を解析し、対応する 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 文字列を含む列を解析し、キー型が StringType の MapType または指定されたスキーマを持つ StructType や ArrayType に変換します。
get_json_object(col, path) 指定された json パスに基づいて 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 形式で返します。
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) 入れ子になった入力 (配列/map/構造体) を含む列を、マップと構造体が 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) XPath 式に一致する xml のノード内の値の文字列配列を返します。
xpath_boolean(xml, path) XPath 式が true に評価された場合、または一致するノードが見つかった場合は true を返します。
xpath_double(xml, path) 一致が見つからない場合は 0 の値、一致が見つかったがその値が数値以外の場合は NaN を返します。
xpath_float(xml, path) float 値、一致が見つからない場合は値 0、一致が見つかったが数値以外の場合は NaN を返します。
xpath_int(xml, path) 整数値を返します。一致するものが見つからない場合、または一致する値が見つかったが数値以外の場合は値 0 を返します。
xpath_long(xml, path) 長整数を返します。一致するものが見つからない場合は 0 を返します。一致するものの、値が数値以外の場合は 0 を返します。
xpath_number(xml, path) 一致が見つからない場合は 0 の値、一致が見つかったがその値が数値以外の場合は NaN を返します。
xpath_short(xml, path) 短い整数値を返します。一致するものが見つからない場合、または一致するものの値が数値以外の場合は 0 を返します。
xpath_string(xml, path) XPath 式に一致する最初の xml ノードのテキストコンテンツを返します。

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) "application/x-www-form-urlencoded" 形式で URL エンコード文字列に文字列をエンコードします。
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]) 入力列が true の場合は null を返します。それ以外の場合は、指定されたエラーメッセージを含む例外がスローされます。
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 Union オブジェクトを使用して、Datasketches HllSketch オブジェクトの 2 つのバイナリ表現をマージします。
input_file_block_length() 読み取るブロックの長さを返します。使用できない場合は -1 します。
input_file_block_start() 読み取るブロックの開始オフセットを返します。使用できない場合は -1 します。
input_file_name() 現在の Spark タスクのファイル名の文字列列を作成します。
java_method(*cols) リフレクションを使用してメソッドを呼び出します。
monotonically_increasing_id() 単調に増加する 64 ビット整数を生成する列。
raise_error(errMsg) 指定されたエラーメッセージを含む例外をスローします。
reflect(*cols) リフレクションを使用してメソッドを呼び出します。
session_user() 現在の実行コンテキストのユーザー名を返します。
spark_partition_id() パーティション ID の列。
try_aes_decrypt(input, key[, mode, padding, aad]) aes_decrypt操作を実行してみますが、復号化を実行できない場合はエラーを発生させる代わりに NULL 値を返します。
try_reflect(*cols) reflect操作を実行してみますが、呼び出しメソッドが例外をスローした場合にエラーを発生させる代わりに NULL 値を返します。
typeof(col) 入力のデータ型の DDL 形式の型文字列を返します。
user() 現在のユーザーを返します。
version() Spark バージョンを返します。

UDF、UDTF、UDT 関数

機能 Description
call_udf(udfName, *cols) ユーザー定義関数を呼び出します。
pandas_udf([f, returnType, functionType]) pandas ユーザー定義関数(別名:
udf([f, returnType, useArrow]) ユーザー定義関数 (UDF) を作成します。
udtf([cls, returnType, useArrow]) ユーザー定義テーブル関数 (UDTF) を作成します。
unwrap_udt(col) UDTデータ型の列を基になる型に展開します。

テーブル値関数

機能 Description
TableValuedFunction.collations() すべての Spark SQL 文字列照合順序を取得します。
TableValuedFunction.explode(collection) 指定された配列またはマップ内の各要素の新しい行を含む DataFrame を返します。
TableValuedFunction.explode_outer(collection) 指定された配列またはマップ内の位置を持つ各要素の新しい行を含む DataFrame を返します。
TableValuedFunction.inline(input) 構造体の配列をテーブルに展開します。
TableValuedFunction.inline_outer(input) 構造体の配列をテーブルに展開します。
TableValuedFunction.json_tuple(input, *fields) 指定されたフィールド名に従って json 列の新しい行を作成します。
TableValuedFunction.posexplode(collection) 指定された配列またはマップ内の位置を持つ各要素の新しい行を含む DataFrame を返します。
TableValuedFunction.posexplode_outer(collection) 指定された配列またはマップ内の位置を持つ各要素の新しい行を含む DataFrame を返します。
TableValuedFunction.range(start[, end, ...]) id という名前の単一の pyspark.sql.types.LongType 列を持つ DataFrame を作成します。この列には、ステップ値ステップを含む開始から終了 (排他) までの範囲の要素が含まれます。
TableValuedFunction.sql_keywords() Spark SQL キーワードを取得します。
TableValuedFunction.stack(n, *fields) col1、...、colk を n 行に分割します。
TableValuedFunction.variant_explode(input) バリアント オブジェクト/配列を、そのフィールド/要素を含む複数の行に分割します。
TableValuedFunction.variant_explode_outer(input) バリアント オブジェクト/配列を、そのフィールド/要素を含む複数の行に分割します。