Spark SQL関数

Adobe Experience Platformクエリサービスは、SQLの機能を拡張するSpark SQL関数をいくつか組み込んで提供しています。 このドキュメントは、クエリサービスでサポートされるSpark SQL関数をリストします。

関数の構文、使用方法、例など、関数の詳細については、Spark SQL関数のドキュメントを参照してください。

メモ

外部ドキュメント内のすべての関数がサポートされているわけではありません。

カテゴリ

数学および統計の演算子と関数

演算子/関数 説明
% 2つの数値の剰余を返します
* 2つの数値を乗算します。
+ 2つの数値を加算します。
- 2つの数値を減算します
/ 2つの数値を除算します。
abs 入力の絶対値を返します
acos 逆コサイン値を返します
approx_count_distinct HyperLogLog++による推定基数を返します
approx_percentile 指定した割合での近似パーセンタイル値を返します
asin 逆サイン値を返す
atan 逆正接値を返します。
atan2 正のx軸平面と座標で指定された点との間の角度を返します
avg 平均値を返す
cbrt キューブルートを返します。
ceil または ceiling 入力された値以下の最小の整数を返します
conv ベース間の変換
corr 数値の間のピアソン係数を返します。
cos コサイン値を返す
cosh ハイパボリックコサイン値を返します。
cot コタンジェント値を返します。
dense_rank 値のグループ内の値のランクを返します
e オイラー数を返す
exp 値の累乗にeを返します
expm1 値から1を引いた値の累乗にeを返します。
factorial 値の階乗を返します
floor 値以上の最大の整数を返します
greatest すべてのパラメーターの最大値を返します
hypot 渡された2つの値の斜辺を返します
kurtosis グループから尖度の値を返します
least すべてのパラメーターの最小値を返します
ln 値の自然対数を返します
log 値の対数を返します
log10 値の対数(10を底とする)を返します
log1p 1を足した値の対数を返します。
log2 値の対数(2を底とする)を返します
max 式の最大値を返します。
mean 値から計算された平均値を返します
min 式の最小値を返します。
monotonically_increasing_id 単調に増加するIDを返す
negative 負の値を返す
percent_rank 値のパーセンテージのランクを返します
percentile 特定の割合での正確なパーセンタイルを返します
percentile_approx 指定した割合での近似パーセンタイルを返します
pi piを返す
pmod 2つの値の間の正のモジュロを返します
positive 正の値を返す
pow, power 1つ目の値を2つ目の値の累乗値に返します。
radians 値をラジアンに変換します。
rand 0 ~ 1の乱数を返します。
randn 乱数を返す
rint 最も近い重複値を返します。
round 最も近い丸められた値を返します
sign, signum 数値の符号を返します
sin 値のサインを返します
sinh 値のハイパボリックサインを返します。
sqrt 値の平方根を返します
stddev 値の標準偏差を返します。
sttdev_pop 値の母集団の標準偏差を返します
stddev_samp 値の標準偏差のサンプルを返します。
sum 値の合計を返します。
tan 値のタンジェントを返します
tanh 値のハイパボリックタンジェントを返します。
var_pop 計算された母集団の平方偏差を返します
var_samp, variance 計算されたサンプルの平方偏差を返します

論理演算子と関数

演算子/関数 説明
! または not 論理否定(not)
< より小さい
<= 次よりも小さいか等しい
= 次と等しい
> より大きい
>= 以上
^ ビット単位 XOR
>= 以上
| ビット単位または
~ ビット単位でない
arrays_overlap 共通の要素を返す
assert_true 式がtrueの場合にアサートします。
if 式がtrueと評価された場合は、2番目の式を返します。 それ以外の場合は、3番目の式を返します。
ifnull 式がnullの場合は、2番目の式を返します。 それ以外の場合は、最初の式を返します。
in 最初の式が後続の式のいずれかにある場合、trueを返します。
isnan 値が数値でない場合はtrueを返します
isnotnull 値がnullでない場合はtrueを返します
isnull 値がnullの場合はtrueを返します
nanvl 数値以外の場合は最初の式を返し、それ以外の場合は2番目の式を返します
or 論理和
when 比較のためのブランチ条件の作成に使用できるタイミング
xpath_boolean XPath式がtrueと評価される場合、または一致するノードが見つかる場合にtrueを返します

日付/時間関数

関数 説明
add_months 今追加日までの月数
date_add 日追加々
date_format 日付形式の変更
date_sub 日付から日数を引く
date_trunc 指定した単位に切り捨てられた日付を返します。
datediff 日単位の日付の差を返します
day, dayofmonth 月の日を返します。
dayofweek 曜日を返します(1 ~ 7)
dayofyear 年の日を返します。
from_unixtime Unix時間で日付を返す
from_utc_timestamp 日付をUTC時刻で返します。
hour 入力された時間を返します
last_day 日付が属する月の最後の日を返します
minute 入力された分を返します。
month 入力された月を返します
months_between 間の月数
next_day 入力値より後の最初の日を返します
quarter 入力の四半期を返します
second 文字列の2番目の値を返します
to_date 文字列を日付に変換します。
to_timestamp 文字列をタイムスタンプに変換します。
to_unix_timestamp 文字列をUnixタイムスタンプに変換します。
to_utc_timestamp 文字列をUTCタイムスタンプに変換します。
trunc 日付を切り詰めます。
unix_timestamp Unixタイムスタンプを返す
weekday 曜日(0 ~ 6)
weekofyear 指定した日付の年の何週目かを返します
year 文字列の年を返します。

配列

関数 説明
array 指定した要素を持つ配列を作成します
array_contains 配列に値が含まれているかどうかを確認します。
array_distinct 配列から重複値を削除します。
array_except 最初の配列の要素の配列を返しますが、2番目の配列は返しません
array_intersect 2つの配列の交点を返します
array_join 2つのアレイを結合
array_max 配列の最大値を返します。
array_min 配列の最小値を返します。
array_position 要素の1を基準とする位置を返します
array_remove その要素に等しい要素をすべて削除します
array_repeat カウントされた値を含む配列を作成します
array_sort 配列を並べ替えます。
array_union 重複なしで配列を結合
array_zip 郵便番号
cardinality 配列のサイズを返す
element_at 位置にある要素を返す
explode 配列の要素を複数の行に分割(nullは除く)
explode_outer 配列の要素を複数の行(nullを含む)に分割する
find_in_set 配列の1を基準とする位置を返します
flatten 配列を分割・統合
inline 構造体の配列をテーブルに分割(nullを除く)
inline_outer 構造体の配列をnullを含むテーブルに分割する
posexplod 配列の要素を複数の行に分割し、位置を持たせます(nullは除く)
posexplod 配列の要素を、nullを含む位置を持つ複数の行に分割する
reverse 配列の要素を反転する
shuffle 配列のランダム順列を返す
slice 配列のサブセット
sort_array 並べ替え順に従って配列を並べ替える
zip_with 関数を適用する前に、2つの配列を1つの配列に結合します。

データタイプキャスト関数

関数 説明
bigint データ型をbigintに変更します
binary データ型をバイナリに変更します
boolean データ型のブール値への変更
type データ型を指定した型に変更します
date データタイプを日付に変更する
decimal データ型の変更:小数
double データタイプの重複への変更
float データタイプをfloatに変更します。
int データ型の変更をintにします
smallint データ型の変更をsmallintにします
str_to_map 文字列からのマップの作成
string データタイプを文字列に変更します
struct 構造体を作成する
tinyint データ型の変更をtinyintにします

変換関数と書式設定関数

関数 説明
ascii 数値(ASCII)を返す
base64 引数をbase64文字列に変更します
bin 引数をバイナリ値に変更します
bit_length ビット長を返す
char, chr ASCII文字を返す
char_length, character_length 文字列の長さを返す
crc32 循環冗長チェック値を返す
degrees ラジアンを度に変換
format_number 数値の形式を変更する
from_json, get_json_object JSONからデータを取得
hash ハッシュ値を返す
hex 引数を16進値に変換します
initcap 文字列をタイトルに基づいて変更します。
lcase, lower 文字列をすべて小文字に変更します。
lpad 文字列の左側をパディングします。
map マップの作成
map_from_arrays 配列からマップを作成する
map_from_entries 構造体の配列からマップを作成する
md5 md5値を返す
rpad 文字列の右側をパディングします。
rtrim 末尾の空白を削除
sha, sha1 SHA1値を返す
sha2 SHA2値を返す
soundex soundexコードを返す
stack 値を行に分割する
substr, substring サブ文字列を返す
to_json JSON文字列を返す
translate 文字列内の値を置換
trim 先頭および末尾の文字の削除
ucase, upper 文字列をすべて大文字に変更する
unbase64 base64文字列をバイナリに変換します
unhex 16進数をバイナリに変換します
uuid UUIDを返す

データ評価

関数 説明
coalesce nullでない最初の引数を返す
collect_list 一意でない要素のリストを返す
collect_set 一意な要素のセットを返す
concat 連結
concat_ws 区切り文字を使用した連結
count 行の合計数を返します。
decode 文字セットを使用したデコード
elt n番目の入力を返す
encode 文字セットを使用したエンコード
first, first_value 最初の値を返す
grouping 列がグループ化されているかどうかを示します。
grouping_id グループ化のレベルを返します。
instr 1を基準とする文字の出現箇所のインデックスを返します
json_tuple JSON入力からタプルを返す
lag, lead オフセットの前の値を返す
last, last_value 最後の値を返します
left 最初のn文字を返します
length 文字列の長さを返します
levenshtein 文字列間のレベンシュテイン距離を返す
locate, position サブ文字列の最初の出現箇所の位置を返します
map_concat マップの連結
map_keys マップのキーを返す
map_values マップの値を返す
ntile 行を分割に分割
nullif trueの場合はnullを返す
nvl nullの場合に値を返す
nvl2 nullでない場合は値を返す
parse_url URLの一部を抽出します
rank 値のランクを計算します
regexp_extract 正規表現に一致するものを抽出します
regex_replace regexに一致するものを置き換えます。
repeat 繰り返す文字列を返します
replace 文字列のすべてのインスタンスを置換
rollup 複数次元のロールアップの作成
row_number 一意の行番号を割り当てます。
schema_of_json JSONのスキーマを返す
sentences 文字列を単語の配列に分割します。
sequence 要素の配列を生成します
shiftleft 符号付きビット単位の左シフト
shiftright 符号付きビット単位の右シフト
shiftrightunsigned 符号なしビット単位の右シフト
size 配列のサイズを返す
space nスペースを含む文字列を返す
split 文字列の分割
substring_index サブ文字列のインデックスを返す
window ウィンドウ
xpath XMLノードの解析
xpath_double, xpath_number XMLノードの重複の解析
xpath_float XMLノードのfloatの解析
xpath_int XMLノードを整数に解析
xpath_long XMLノードを長時間解析する
xpath_short XMLノードを解析して短い整数にする
xpath_string XMLノードの文字列の解析

現在の情報

関数 説明
current_database 現在のデータベースを返す
current_date 現在の日付を返します
current_timestamp, now 現在のタイムスタンプを返す

上位関数

関数 説明
transform 配列の要素を変換する
exists 要素が存在するかどうかを確認する
filter 入力配列のフィルタリング
aggregate すべての要素にバイナリ演算子を適用する

このページ