Spark SQL 関数

複数の組み込みの Spark SQL 関数を使用して、Adobe Experience Platform クエリサービスで SQL 機能を拡張できます。 このドキュメントでは、クエリサービスでサポートされる Spark SQL 関数を示します。

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

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

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

演算子/関数
説明
%
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
円周率を返します
pmod
2 つの値の間の正の剰余を返します
positive
正の値を返します
pow, power
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
計算された標本分散を返します

論理演算子と関数 logical-operators

演算子/関数
説明
! または not
論理否定(NOT)
<
次より小さい
<=
同じかそれ以下
=
次と等しい
>
次より大きい
>=
同じかそれ以上
^
ビット単位 XOR
|
ビット単位 OR
~
ビット単位 NOT
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
比較のための分岐条件の作成には When を使用できます
xpath_boolean
XPath 式が true と評価される場合、または一致するノードが見つかった場合は、true を返します

日付/時間関数 datetime-functions

関数
説明
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
文字列の年を返します

配列 arrays

関数
説明
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 つの配列にマージする

データタイプキャスト関数 datatype-casting

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

変換関数と書式設定関数 conversion

関数
説明
ascii
数値(ASCII)を返す
base64
引数を Base64 文字列に変更します
bin
引数をバイナリ値に変更します
bit_length
ビット長を返します
charchr
ASCII 文字を返します
char_lengthcharacter_length
文字列の長さを返します
crc32
巡回冗長検査の値を返します
degrees
ラジアンを度に変換します
format_number
数値の形式を変更します
from_jsonget_json_object
JSON からデータを取得します
hash
ハッシュ値を返します
hex
引数を 16 進数値に変換します
initcap
文字列をタイトルケースに変更します
lcaselower
文字列をすべて小文字に変更します
lpad
文字列の左側をパディングします
map
マップを作成します
map_from_arrays
配列からマップを作成します
map_from_entries
構造体の配列からマップを作成します
md5
MD5 値を返します
rpad
文字列の右側をパディングします
rtrim
末尾のスペースを削除します
shasha1
SHA1 値を返します
sha2
SHA2 値を返します
soundex
Soundex コードを返します
stack
値を行に分割します
substrsubstring
部分文字列を返します
to_json
JSON 文字列を返します
translate
文字列内の値を置換します
trim
先頭と末尾の文字を削除します
ucaseupper
文字列をすべて大文字に変更します
unbase64
Base64 文字列をバイナリに変換します
unhex
16 進数をバイナリに変換します
uuid
UUID を返します

データ評価 data-evaluation

関数
説明
coalesce
最初の null 以外の引数を返します
collect_list
一意でない要素のリストを返します
collect_set
一意の要素のセットを返します
concat
連結します
concat_ws
区切り記号付きで連結します
count
行の合計数を返します
decode
文字セットを使用してデコードします
elt
n 番目の入力を返します
encode
文字セットを使用してエンコードします
firstfirst_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
double の XML ノードを解析します
xpath_float
float の XML ノードを解析します
xpath_int
integer の XML ノードを解析します
xpath_long
long の XML ノードを解析します
xpath_short
short integer の XML ノードを解析します
xpath_string
string の XML ノードを解析します

現在の情報 current-information

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

高階関数 higher-order

関数
説明
transform
配列の要素を変換します
exists
要素が存在するかどうかを確認します
filter
入力配列をフィルタリングします
aggregate
すべての要素にバイナリ演算子を適用します
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb