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 e の値 — 1 の乗を返します
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 最初の値を 2 番目の値の乗を返します
radians 値をラジアンに変換します
rand 0 ~ 1 の乱数を返します
randn ランダムな値を返します
rint 最も近い double 値を返します
round 最も近い丸められた値を返します
sign, signum 数値の記号を返します
sin 値のサインを返します
sinh 値のハイパボリックサインを返します
sqrt 値の平方根を返します
stddev 値の標準偏差を返します
sttdev_pop 値の母集団の標準偏差を返します
stddev_samp 値のサンプルの標準偏差を返します
sum 値の合計を返します
tan 値のタンジェントを返します
tanh 値のハイパボリックタンジェントを返します
var_pop 計算された母分散を返します
var_samp, variance 計算された標本分散を返します

論理演算子と関数

演算子/関数 説明
! または not 論理否定(not)
< より小さい
<= 次よりも小さいか等しい
= 次と等しい
> Greater than
>= 以上
^ ビット単位 XOR
| ビット OR
~ ビット単位の否定
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 論理和 (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 文字列を日付に変換します。 注意: 文字列 必須 形式である yyyy-mm-ddTHH24:MM:SS.
to_timestamp 文字列をタイムスタンプに変換します。 注意: 文字列 必須 形式である yyyy-mm-ddTHH24:MM:SS.
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 重複なしで配列を結合します
arrays_zip 指定された配列の値を、指定されたインデックスの元のコレクションの値と結合します
cardinality 配列のサイズを返す
element_at 位置の要素を返す
explode 配列の要素を複数の行に分割します(null を除く)
explode_outer 配列の要素を複数の行(null を含む)に分割します
find_in_set 配列の 1 から始まる位置を返します
flatten 配列の配列を統合
inline 構造体の配列をテーブル(null を除く)に区切る
inline_outer 構造体の配列をテーブル(null を含む)に区切ります
posexplode 配列の要素を、null を除く位置を持つ複数の行に分割します
reverse 配列の要素を逆にする
shuffle 配列のランダムな順列を返す
slice 配列のサブセット
sort_array 並べ替え順を指定して配列を並べ替え
zip_with 関数を適用する前に、2 つの配列を 1 つの配列に結合します

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

関数 説明
bigint データ型を bigint に変更します。
binary データタイプをバイナリに変更
boolean データタイプをブール値に変更します
type データ型を指定した型に変更する
date データタイプを日付に変更
decimal データタイプを小数に変更します
double データタイプを 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 進数を 2 進数に変換します
uuid UUID を返す

データ評価

関数 説明
coalesce 最初の null 以外の引数を返す
collect_list 一意でない要素のリストを返す
collect_set 一意の要素のセットを返す
concat 連結
concat_ws 区切り文字による連結
count 行の合計数を返します
decode 文字セットを使用したデコード
elt を返す nth 入力
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 正規表現に一致するものを置き換えます
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 ノードを double 用に解析
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 すべての要素にバイナリ演算子を適用

このページ