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
>= 以上
[` `](https://spark.apache.org/docs/latest/api/sql/index.html#_15)
~ ビット単位ではない
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 文字列の秒を返します
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 重複を伴わずに配列を結合
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 データ型の 10 進数への変更
double データ型を double に変更します。
float データ型を浮動小数に変更します
int データ型を int に変更します。
smallint データ型を smallint に変更します。
str_to_map 文字列からのマップの作成
string データ型を文字列に変更します
struct 構造体の作成
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 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 正規表現に一致するものを置き換える
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 すべての要素にバイナリ演算子を適用する

このページ