メインコンテンツまでスキップ

PySpark関数

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

通常の関数

関数

説明

broadcast(df)

ブロードキャスト結合で使用できるほど小さい DataFrame としてマークします。

call_function(funcName, *cols)

SQL 関数を呼び出します。

col(col)

指定された列名に基づいて列を返します。

column(col)

指定された列名に基づいて列を返します。

lit(col)

リテラル値の列を作成します。

expr(str)

式文字列をそれが表す列に解析します

条件関数

関数

説明

coalesce(*cols)

null ではない最初の列を返します。

ifnull(col1, col2)

col1 が null の場合は col2 を返し、それ以外の場合は col1 を返します。

nanvl(col1, col2)

col1 が NaN でない場合は col1 を返し、col1 が NaN の場合は col2 を返します。

nullif(col1, col2)

col1 が col2 と等しい場合は null を返し、そうでない場合は col1 を返します。

nullifzero(col)

col がゼロの場合は 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 を返します。

パターンマッチング関数

関数

説明

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 を返します。

ソート関数

関数

説明

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 値の後に表示されます。

数学関数

関数

説明

abs(col)

指定された列または式の絶対値を計算します。

acos(col)

指定された列または式の逆余弦 (逆余弦とも呼ばれます) を計算します。

acosh(col)

指定された列または式の逆双曲線余弦 (arcosh とも呼ばれます) を計算します。

asin(col)

入力列の逆正弦をコンピュートします。

asinh(col)

入力列の逆双曲線正弦を計算します。

atan(col)

コンピュート 入力列の逆正接。

atan2(col1, col2)

コンピュート 平面の正のx軸と座標で与えられた点との間の角度(ラジアン)

atanh(col)

コンピュート 入力列の逆双曲線正接。

bin(col)

指定された列のバイナリ値の文字列表現を返します。

bround(col[, scale])

指定された値を、scale >= 0 の場合は HALF_EVEN 丸めモードを使用してスケールの小数点以下の桁に丸め、scale < 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)

指定された値の底 10 の対数を計算します。

log1p(col)

コンピュートは、指定された値に 1 を加えた値の自然対数です。

log2(col)

引数の 2 を底とする対数を返します。

negate(col)

負の値を返します。

negative(col)

負の値を返します。

pi()

円周率を返します。

pmod(dividend, divisor)

被除数を除数で割った正の値を返します。

positive(col)

値を返します。

pow(col1, col2)

最初の引数を 2 番目の引数で累乗した値を返します。

power(col1, col2)

最初の引数を 2 番目の引数で累乗した値を返します。

radians(col)

度で測定された角度を、ラジアンで測定されたほぼ同等の角度に変換します。

rand([seed])

[0.0, 1.0) に均一に分布した独立した同一分布 (iid) サンプルを持つランダム列を生成します。

randn([seed])

標準正規分布から、独立かつ同一に分布した (iid) サンプルを含むランダムな列を生成します。

rint(col)

引数に最も近い値で、数学的な整数に等しい double 値を返します。

round(col[, scale])

指定された値を、scale >= 0 の場合は HALF_UP 丸めモードを使用してスケールの小数点以下の桁に丸め、scale < 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])

指定された数値の範囲で、独立かつ同一に分布した (iid) 値を持つランダム値を返します。

width_bucket(v, min, max, numBucket)

この式の値が評価された後に該当するバケット番号を返します。

文字列関数

関数

説明

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-16BE 、 、 UTF-16LEUTF-32のいずれか) を使用してUTF-16バイナリから最初の引数を文字列にコンピュートします。

elt(*inputs)

n 番目の入力を返します。たとえば、n が 2 の場合は input2 を返します。

encode(col, charset)

指定された文字セット ( US-ASCIIISO-8859-1UTF-8UTF-16BE 、 、 UTF-16LEUTF-32のいずれか) を使用して、最初の引数UTF-16文字列からバイナリに変換します。

endswith(str, suffix)

ブール値を返します。

find_in_set(str, str_array)

カンマ区切りのリスト (strArray) 内の指定された文字列 (str) のインデックス (1 から始まる) を返します。

format_number(col, d)

数値 X を#,--#,--#.--のような形式にフォーマットし、HALF_EVEN 丸めモードで小数点以下 d 桁に丸めて、結果を文字列として返します。

format_string(format, *cols)

引数を printf スタイルでフォーマットし、結果を文字列の列として返します。

initcap(col)

文中の各単語の最初の文字を大文字に翻訳します。

instr(str, substr)

指定された文字列内で 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 つの文字列のレーベンシュタイン距離をコンピュートします。

locate(substr, str[, pos])

位置 pos の後、文字列の列内で substr が最初に出現する位置を特定します。

lower(col)

文字列式を小文字に変換します。

lpad(col, len, pad)

文字列の列の左側を 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 の指定された部分を、src のバイト位置 pos から len バイトまで replace でオーバーレイします。

position(substr, str[, start])

位置 start の後の str 内の substr の最初の出現位置を返します。

printf(format, *cols)

引数を printf スタイルでフォーマットし、結果を文字列の列として返します。

randstr(length[, seed])

0 ~ 9、a ~ z、A ~ Z の文字プールから均一にランダムに選択された文字を含む指定された長さの文字列を返します。

regexp_count(str, regexp)

文字列 str 内で Java 正規表現パターン regexp が一致した回数を返します。

regexp_extract(str, pattern, idx)

指定された文字列列から、Java 正規表現 regexp に一致する特定のグループを抽出します。

regexp_extract_all(str, regexp[, idx])

Java 正規表現 regexp に一致し、正規表現グループ インデックスに対応する str 内のすべての文字列を抽出します。

regexp_instr(str, regexp[, idx])

Java 正規表現 regexp に一致し、正規表現グループ インデックスに対応する str 内の最初の部分文字列の位置を返します。

regexp_replace(string, pattern, replacement)

正規表現に一致する指定された文字列値のすべての部分文字列を置換します。

regexp_substr(str, regexp)

文字列 str 内の Java 正規表現 regexp に一致する最初の部分文字列を返します。

repeat(col, n)

文字列の列を n 回繰り返し、新しい文字列の列として返します。

replace(src, search[, replace])

検索のすべての出現を replace に置き換えます。

right(str, len)

文字列 str から右端の len (len は文字列型) 文字を返します。len が 0 以下の場合、結果は空の文字列になります。

rpad(col, len, pad)

文字列の列の右側を 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 が文字列型の場合、部分文字列は pos で始まり、長さ len になります。str がバイナリ型の場合、バイト単位で pos で始まり、長さ len のバイト配列のスライスを返します。

substring_index(str, delim, count)

文字列 str から、区切り文字 delim が count 回出現する前の部分文字列を返します。

to_binary(col[, format])

指定された形式に基づいて、入力列をバイナリ値に変換します。

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)

文字列形式formatに基づいて、文字列colを数値に変換します。

try_validate_utf8(str)

入力値が有効な UTF-8 文字列に対応する場合はその値を返します。それ以外の場合は NULL を返します。

ucase(str)

すべての文字を大文字に変更した str を返します。

unbase64(col)

BASE64 でエンコードされた文字列列をデコードし、バイナリ列として返します。

upper(col)

文字列式を大文字に変換します。

validate_utf8(str)

入力値が有効な UTF-8 文字列に対応する場合はその値を返します。それ以外の場合はエラーを出力します。

ビット関数

関数

説明

bit_count(col)

引数 expr に設定されているビット数を符号なし 64 ビット整数として返します。引数が 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 右に符号なしシフトします。

日付/時刻関数

関数

説明

add_months(start, months)

開始から数か月後の日付を返します。

convert_timezone(sourceTz, targetTz, sourceTs)

タイムゾーン 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 年 1 月 1 日からの日数から日付を作成します。

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])

col をタイムスタンプの形式で解析します。

unix_date(col)

1970 年 1 月 1 日からの日数を返します。

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) で変換しますデフォルトのタイムゾーンとデフォルトのロケールを使用して、デフォルトのタイムスタンプ (秒単位) から Unix タイムスタンプ (秒単位) に変換し、失敗した場合は null を返します。

weekday(col)

日付/タイムスタンプの曜日を返します (0 = 月曜日、1 = 火曜日、...、6 = 日曜日)。

weekofyear(col)

指定された日付の週番号を整数として抽出します。

window(timeColumn, windowDuration[, ...])

タイムスタンプ指定列を指定して、行を 1 つ以上の時間ウィンドウに分割します。

window_time(windowColumn)

ウィンドウ列からイベント時間をコンピュートします。

year(col)

指定された日付/タイムスタンプの年を整数として抽出します。

ハッシュ関数

関数

説明

crc32(col)

バイナリ列の巡回冗長検査値 (CRC32) を計算し、その値を bigint として返します。

hash(*cols)

指定された列のハッシュ コードを計算し、結果を int 列として返します。

md5(col)

MD5 ダイジェストを計算し、その値を 32 文字の 16 進文字列として返します。

sha(col)

col の 16 進文字列として sha1 ハッシュ値を返します。

sha1(col)

SHA-1 の 16 進文字列結果を返します。

sha2(col, numBits)

SHA-2 ファミリのハッシュ関数 (SHA-224、SHA-256、SHA-384、および SHA-512) の 16 進文字列結果を返します。

xxhash64(*cols)

xxHash アルゴリズムの 64 ビット版を使用して指定された列のハッシュ コードを計算し、結果を長い列として返します。

コレクション関数

関数

説明

aggregate(col, initialValue, merge[, finish])

初期状態と配列内のすべての要素にバイナリ演算子を適用し、これを単一の状態に縮小します。

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])

初期状態と配列内のすべての要素にバイナリ演算子を適用し、これを単一の状態に縮小します。

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 つの配列に結合します。

配列関数

関数

説明

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)

count 回繰り返される列を含む配列を作成します。

array_size(col)

配列内の要素の合計数を返します。

array_union(col1, col2)

col1 と col2 の要素を重複なしで結合した新しい配列を返します。

arrays_overlap(a1, a2)

入力配列に共通の非 null 要素があるかどうかを示すブール列を返します。共通の null 要素がある場合は true を返し、配列に共通の要素が含まれていないが空ではなく、少なくとも 1 つの配列に null 要素が含まれている場合は null を返し、それ以外の場合は false を返します。

arrays_zip(*cols)

N 番目の構造体に入力配列の N 番目の値がすべて含まれる構造体の結合配列を返します。

flatten(col)

配列の配列から単一の配列を作成します。

get(col, index)

指定された (0 から始まる) インデックスにある配列の要素を返します。

sequence(start, stop[, step])

開始から終了まで、ステップごとに増加しながら整数のシーケンスを生成します。

shuffle(col[, seed])

指定された配列のランダムな順列を生成します。

slice(x, start, length)

入力配列列を開始インデックスから特定の長さにスライスして、新しい配列列を返します。

sort_array(col[, asc])

配列要素の自然な順序に従って、入力配列を昇順または降順に並べ替えます。

構造体関数

関数

説明

named_struct(*cols)

指定されたフィールド名と値を持つ構造体を作成します。

struct(*cols)

新しい構造体の列を作成します。

マップ関数

関数

説明

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])

文字列を区切り文字を使用してキーと値のペアに分割した後、マップに変換します。

集計関数

関数

説明

any_value(col[, ignoreNulls])

行のグループの col の値を返します。

approx_count_distinct(col[, rsd])

指定された列または列のグループ内の要素のおおよその個別数を推定する新しい列を返します。

approx_percentile(col, percentage[, accuracy])

順序付けられた col 値 (最小から最大の順に並べ替え) の中で最小の値である数値列 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)

1 つまたは複数の列の個別のカウントの新しい列を返します。

count_if(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 ビンを使用して数値 'col' のヒストグラムを計算します。

hll_sketch_agg(col[, lgConfigK])

lgConfigK 引数で設定された Datasketches HllSketch の更新可能なバイナリ表現を返します。

hll_union_agg(col[, allowDifferentLgConfigK])

以前に作成された Datasketches HllSketch インスタンスを Datasketches Union インスタンスを介してマージすることによって生成された、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])

指定されたパーセンテージにおける数値列 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)

グループ内の 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

ウィンドウ関数

関数

説明

cume_dist()

ウィンドウ パーティション内の値の累積分布、つまり現在の行の下にある行の割合を返します。

dense_rank()

ウィンドウ パーティション内の行のランクをギャップなしで返します。

lag(col[, offset, default])

現在の行の offset 行前の値を返します。現在の行の前の offset 行数がより少ない場合はデフォルトを返します。

lead(col[, offset, default])

現在の行の後の offset 行の値を返します。現在の行の後の offset 行数がより少ない場合はデフォルトを返します。

nth_value(col, offset[, ignoreNulls])

ウィンドウ フレームの offset 番目の行 (1 から数えて) の値を返します。ウィンドウ フレームのサイズが offset 行より小さい場合は null を返します。

ntile(n)

順序付けられたウィンドウ パーティション内の ntile グループ ID (1 から n まで) を返します。

percent_rank()

相対順位を返す(つまり

rank()

ウィンドウ パーティション内の行のランクを返します。

row_number()

ウィンドウ パーティション内で 1 から始まる連続番号を返します。

ジェネレータ関数

関数

説明

explode(col)

指定された配列またはマップ内の各要素に対して新しい行を返します。

explode_outer(col)

指定された配列またはマップ内の各要素に対して新しい行を返します。

inline(col)

構造体の配列をテーブルに展開します。

inline_outer(col)

構造体の配列をテーブルに展開します。

posexplode(col)

指定された配列またはマップ内の位置にある各要素の新しい行を返します。

posexplode_outer(col)

指定された配列またはマップ内の位置にある各要素の新しい行を返します。

stack(*cols)

col1、...、colk を n 行に分割します。

パーティション変換関数

関数

説明

partitioning.years(col)

タイムスタンプと日付を変換してデータを年ごとに分割します。

partitioning.months(col)

タイムスタンプと日付を変換してデータを月ごとに分割します。

partitioning.days(col)

タイムスタンプと日付を変換してデータを日ごとに分割します。

partitioning.hours(col)

データを時間単位で分割するためのタイムスタンプの変換。

partitioning.bucket(numBuckets, col)

入力列のハッシュによってパーティション分割する任意の型の変換。

H3 地理空間関数 (Databricks)

関数

説明

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セルIDの入力セットを可能な限り圧縮する

h3_coverash3(col1,col2)

入力された線形または面積地理を最小限にカバーする指定された解像度の六角形または五角形に対応する、長整数として表されるセルIDの配列を返します。

h3_coverash3string(col1,col2)

入力された線形または面積地理を最小限にカバーする指定された解像度の六角形または五角形に対応する、文字列として表されるセルIDの配列を返します。

h3_distance(col1,col2)

2つのH3セルID間のグリッド距離を返します

h3_h3tostring(col)

H3セルIDを16進文字列としてセルIDを表す文字列に変換します。

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)

指定された解像度で地理をカバーするチップを表す構造体の配列を返します。

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)

指定された解像度で地理をカバーするチップを表す構造体の配列を返します。ジオメトリが無効な場合は null を返します。

h3_try_validate(col)

有効なH3セルの場合は入力値を返します。そうでない場合はNoneを返します。

h3_uncompact(col1,col2)

H3セルIDの入力セットを指定された解像度に展開します。

h3_validate(col)

有効なH3セルの場合は入力値を返します。そうでない場合はエラーを出力します。

ST 地理空間関数 (Databricks)

関数

説明

st_addpoint(col1,col2,col3)

入力ラインストリングのn番目の位置に新しいポイントを追加します。地理またはジオメトリ

st_area(col)

入力された地理またはジオメトリの面積を返します

st_asbinary(col1,col2)

入力された地理またはジオメトリ値をWKB形式で返します。

st_asewkb(col1,col2)

入力ジオメトリ値をEWKB形式で返します。

st_asewkt(col)

入力された地理またはジオメトリの値をEWKT形式で返します。

st_asgeojson(col)

入力された地理またはジオメトリの値をGeoJSON形式で返します。

st_astext(col)

入力された地理またはジオメトリ値をWKT形式で返します。

st_aswkb(col1,col2)

入力された地理またはジオメトリ値をWKB形式で返します。

st_aswkt(col)

入力された地理またはジオメトリ値を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)

WGS84楕円体の平均半径を半径とする球面上で測定された、2つの点ジオメトリ間の球面距離(メートル単位)を返します。

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)

ポリゴンを表す入力地理値またはジオメトリ値の外部リング(シェル)をラインストリングとして返します。

st_flipcoordinates(col)

入力ジオメトリの X 座標と Y 座標を入れ替えます

st_geogfromgeojson(col)

GeoJSON記述を解析し、対応する地理値を返します。

st_geogfromtext(col)

WKT記述を解析し、対応する地理値を返します。

st_geogfromwkb(col)

入力されたWKB記述を解析し、対応する地理値を返します。

st_geogfromwkt(col)

WKT記述を解析し、対応する地理値を返します。

st_geohash(col1,col2)

入力ジオメトリのジオハッシュを返します

st_geometryn(col1,col2)

入力されたマルチジオメトリの1から始まるn番目の要素を返します。存在しない場合はNone返します。

st_geometrytype(col)

入力された地理またはジオメトリ値の型を文字列として返します。

st_geomfromewkb(col)

入力されたEWKB記述を解析し、対応するジオメトリ値を返します。

st_geomfromgeohash(col)

入力されたジオハッシュ値に対応するジオハッシュグリッドボックスを2Dポリゴンジオメトリとして返します。

st_geomfromgeojson(col)

GeoJSON記述を解析し、対応するジオメトリ値を返します。

st_geomfromtext(col1,col2)

WKT記述を解析し、対応するジオメトリ値を返します。

st_geomfromwkb(col1,col2)

入力されたWKB記述を解析し、対応するジオメトリ値を返します。

st_geomfromwkt(col1,col2)

WKT記述を解析し、対応するジオメトリ値を返します。

st_intersection(col1,col2)

2つの入力ジオメトリの点集合の交差を2Dジオメトリとして返します。

st_intersects(col1,col2)

2つのジオメトリが交差する場合はTrueを返します

st_isempty(col)

入力された地理またはジオメトリ値に空でないポイントが含まれていない場合はTrue返します。

st_isvalid(col)

入力ジオメトリがOGCの意味で有効なジオメトリである場合はTrueを返します。

st_length(col)

入力ジオメトリまたは地理値の長さを返します

st_m(col)

入力ポイントジオメトリのM座標を返します。入力ポイントジオメトリが空の場合、またはM座標がない場合はNone返します。

st_makeline(col)

入力されたジオメトリ配列内のジオメトリの空でないポイントをポイントとするラインストリングジオメトリを返します。ポイント、ラインストリング、またはマルチポイントであることが期待されます。

st_makepolygon(col1,col2)

入力された外側の境界と、閉じた線分として表される内側の境界のオプションの配列からポリゴンを構築します。

st_multi(col)

入力された地理またはジオメトリ値を、元のSRIDを維持しながら、同等のマルチ地理空間値として返します。

st_ndims(col)

入力された地理またはジオメトリ値の座標次元を返します。

st_npoints(col)

入力された地理値またはジオメトリ値内の空でないポイントの数を返します。

st_numgeometries(col)

入力ジオメトリ内のジオメトリの数を返します

st_perimeter(col)

入力された地理またはジオメトリの周囲長を返します

st_point(col1,col2,col3)

指定されたx、y座標とSRID値を持つ2Dポイントジオメトリを返します。

st_pointfromgeohash(col)

入力されたジオハッシュ値に対応するジオハッシュグリッドボックスの中心を2Dポイントジオメトリとして返します。

st_pointn(col1,col2)

入力ラインストリングの1から始まるn番目のポイントを返します。存在しない場合はNone返します。

st_removepoint(col1,col2)

入力ラインストリングからn番目のポイントを削除します。地理またはジオメトリ

st_reverse(col)

入力された地理またはジオメトリ値の頂点の順序を反転します

st_rotate(col1,col2)

入力ジオメトリをZ軸を中心に指定された回転角度(ラジアン)で回転します。

st_scale(col1,col2,col3,col4)

指定された係数を使用して、入力ジオメトリをX、Y、Z(オプション)方向にスケーリングします。

st_setpoint(col1,col2,col3)

入力ラインストリングの地理またはジオメトリのn番目のポイントを設定します

st_setsrid(col1,col2)

指定されたSRID値を持つ新しいジオメトリ値を返します。

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)

入力されたバイナリまたは文字列値を解析し、対応する地理値を返します。

to_geometry(col)

入力されたバイナリまたは文字列値を解析し、対応するジオメトリ値を返します。

try_to_geography(col)

入力されたバイナリまたは文字列値を解析し、対応する地理値を返します。入力が無効な場合はNone返します。

try_to_geometry(col)

入力されたバイナリまたは文字列値を解析し、対応するジオメトリ値を返します。入力が無効な場合はNone返します。

CSV関数

関数

説明

from_csv(col, schema[, options])

CSV 文字列を含む列を、指定されたスキーマを持つ行に解析します。

schema_of_csv(csv[, options])

CSV 文字列を解析し、そのスキーマを DDL 形式で推測します。

to_csv(col[, options])

StructType を含む列を CSV 文字列に変換します。

JSON関数

関数

説明

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 文字列に変換します。

バリアント関数

関数

説明

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)

ネストされた入力 (配列/マップ/構造体) を含む列をバリアントに変換します。マップと構造体は、SQL 構造体とは異なり順序付けられていないバリアント オブジェクトに変換されます。

XML関数

関数

説明

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)

double 値を返します。一致するものが見つからない場合は値 0 を返し、一致するものが見つかったが値が数値でない場合は NaN を返します。

xpath_float(xml, path)

浮動小数点値を返します。一致するものが見つからない場合は値 0 を返し、一致するものが見つかったが値が数値でない場合は NaN を返します。

xpath_int(xml, path)

一致するものが見つからない場合、または一致するものが見つかったが値が数値でない場合は、整数値または値 0 を返します。

xpath_long(xml, path)

長整数値を返します。一致するものが見つからない場合、または一致するものが見つかったが値が数値以外の場合は、値 0 を返します。

xpath_number(xml, path)

double 値を返します。一致するものが見つからない場合は値 0 を返し、一致するものが見つかったが値が数値でない場合は NaN を返します。

xpath_short(xml, path)

短整数値を返します。一致するものが見つからない場合、または一致するものが見つかったが値が数値以外の場合は、値 0 を返します。

xpath_string(xml, path)

XPath 式に一致する最初の XML ノードのテキスト コンテンツを返します。

URL関数

関数

説明

parse_url(url, partToExtract[, key])

URL から指定された部分を抽出します。

try_parse_url(url, partToExtract[, key])

parse_url操作を実行しようとしますが、解析を実行できない場合はエラーを発生させる代わりに NULL 値を返します。

url_decode(str)

application/x-www-form-urlencoded形式の URL エンコードされた文字列を元の形式にデコードします。

url_encode(str)

文字列を 'application/x-www-form-urlencoded' 形式の URL エンコード文字列にエンコードします。

try_url_decode(str)

url_decode操作を実行しようとしますが、デコードを実行できない場合はエラーを発生させる代わりに NULL 値を返します。

その他の機能

関数

説明

aes_decrypt(input, key[, mode, padding, aad])

パディング付きモードで AES を使用して入力の復号化された値を返します。

aes_encrypt(input, key[, mode, padding, iv, aad])

指定されたモードで、指定されたパディングを使用して、入力の暗号化された値を返します。

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操作を実行しようとしますが、invoke メソッドが例外をスローした場合はエラーを発生させる代わりに NULL 値を返します。

typeof(col)

入力のデータ型の DDL 形式の型文字列を返します。

user()

現在のユーザーを返します。

version()

Spark バージョンを返します。

UDF、UDTF、UDT関数

関数

説明

call_udf(udfName, *cols)

ユーザー定義関数を呼び出します。

pandas_udf([f, returnType, functionType])

Pandasユーザー定義関数(別名

udf([f, returnType, useArrow])

ユーザー定義関数 (UDF) を作成します。

udtf([cls, returnType, useArrow])

ユーザー定義テーブル関数 (UDTF) を作成します。

unwrap_udt(col)

UDT データ型の列をその基になる型にアンラップします。

テーブル値関数

関数

説明

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)

バリアント オブジェクト/配列を、そのフィールド/要素を含む複数の行に分割します。