V3.1 以降、Hologres は hg_spark_funcs 拡張機能を導入することで、さまざまな Spark 互換関数をサポートしています。このトピックでは、Hologres の Spark 互換関数について説明し、使用例を示します。
関数 | 機能 |
逆双曲線余弦を計算します。 | |
逆双曲線正弦を計算します。 | |
双曲線正接を計算します。 | |
指定された値 x が指定された範囲 [min, max] 内にあるかどうかを確認します。 | |
バイナリ値を計算します。 | |
バイナリ計算後のビット数を取得します。 | |
ビット単位の論理 AND 演算を実行します。 | |
ビット単位の論理 NOT 演算を実行します。 | |
ビット単位の論理 OR 演算を実行します。 | |
ビット単位の論理 XOR 演算を実行します。 | |
加算を実行します。数値のオーバーフローが発生した場合、サイレントオーバーフローではなく、エラーを報告します。 | |
除算を実行します。数値のオーバーフローが発生した場合、サイレントオーバーフローではなく、エラーを報告します。 | |
乗算を実行します。数値のオーバーフローが発生した場合、サイレントオーバーフローではなく、エラーを報告します。 | |
減算を実行します。数値のオーバーフローが発生した場合、サイレントオーバーフローではなく、エラーを報告します。 | |
パラメーター x にパラメーター y が含まれているかどうかを確認します。 | |
文字列の数値をある基数(基数ソース)から別の基数(基数ターゲット)に変換します。 | |
双曲線余弦を計算します。 | |
CRC32 ハッシュ値を計算します。 | |
余割値を計算します。 | |
最初に入力パラメーターが2番目に入力パラメーターで終わるかどうかを確認します。 | |
オイラー数(自然対数の底)の累乗から 1 を引いた値、つまり「exp(x) - 1」を計算します。 | |
カンマ区切りの配列文字列内で指定された文字列の位置を検索し、1 から始まるインデックス値を返します。 | |
UNIX エポック (1970-01-01 00:00:00 UTC) からの経過秒数 (BIGINT 型) を指定された時間形式に変換します。 | |
入力データを16進数形式に変換します。 | |
2つの値の2乗和の平方根を計算します。 | |
指定された配列に指定された値が存在するかどうかを確認します。 | |
データが数値ではない (NaN) かどうかを確認します。 | |
2 つの文字列間のレーベンシュタイン距離 (編集距離) を計算します。これは、一方の文字列をもう一方の文字列に変換するために必要な 1 文字編集操作の最小回数を表します。 | |
指定された値の10を底とする対数を計算します。 | |
指定された値に 1 を加えた値の自然対数を計算します。 | |
指定された値の2を底とする対数を計算します。 | |
Bloom Filter に指定された値が存在する可能性があるかどうかを確認します。 | |
単調増加する一意の 64 ビット整数を生成します。これらの整数は連続していません。 | |
パラメーター x を y で除算した正の剰余を計算します。 | |
除算演算の剰余を計算します。 | |
最も近い整数を計算します。 | |
正割値を計算します。この関数は三角関数の1種であり、角度の余弦の逆数として表されます。 | |
文字列の SHA-1 ハッシュ値を計算し、結果を16進数文字列に変換します。 | |
文字列の SHA-2 ハッシュ値 (SHA-224、SHA-256、SHA-384、および SHA-512) を計算し、結果を16進数文字列に変換します。 | |
ターゲット値を左シフトします。 | |
ターゲット値を右シフトします。 | |
双曲線正弦を計算します。 | |
文字列の Soundex コードを生成します。 | |
最初のパラメーターが2番目のパラメーターで始まるかどうかを確認します。 | |
区切り文字の n 番目の出現までの文字列の部分を取得します。 | |
16進数文字列を VARBIT に変換します。 | |
URL のエンコードされた値をエスケープ解除します。 | |
エンコードによってエスケープします。 |
拡張機能をインストールする
Spark 関数を使用する前に、必要な拡張機能をインストールするために、スーパーユーザーとしてデータベースで次の文を実行する必要があります。この文は、データベースごとに一度だけ実行する必要があります。新しいデータベースを作成する場合は、文を再度実行する必要があります。
CREATE extension hg_spark_funcs;この拡張機能は、hg_spark_funcs スキーマでのみ作成できます。別のスキーマを手動で指定することはできません。
サンプルデータ
この Topic の Spark 関数パラメーター x は、定数入力パラメーターをサポートしていません。この Topic のすべての例では、次のサンプルデータを使用します。
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);Spark 関数
hg_spark_funcs スキーマの関数は、次の 2 つの方法のいずれかで呼び出すことができます。方法 1 を推奨します。
方法 1: スキーマを明示的に指定する (推奨)
関数名の前にhg_spark_funcs.プレフィックスを付けて関数を呼び出します。SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;方法 2: 検索パスを設定する
現在のセッションの検索パスにhg_spark_funcsを追加します。その後、プレフィックスなしで関数を直接呼び出すことができます。-- 1. hg_spark_funcs を検索パスに追加します。 SET search_path = 'hg_spark_funcs'; -- 2. 関数を直接呼び出します。 SELECT ACOSH(a) FROM public.spark_test;
詳細については、「Spark 関数」をご参照ください。
ACOSH
説明: 逆双曲線余弦を計算します。
ACOSH(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT ACOSH(a) FROM public.spark_test;次の結果が返されます。
acosh ------------------ 1.762747174039086
ASINH
説明: 逆双曲線正弦を計算します。
ASINH(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.ASINH(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT ASINH(a) FROM public.spark_test;次の結果が返されます。
asinh ------------------ 1.8184464592320668
ATANH
説明: 値のハイパーボリックタンジェントを計算します。
ATANH(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.ATANH(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT ATANH(a) FROM public.spark_test;次の結果が返されます。
atanh ------- NaN
BETWEEN
説明: 値 x が指定された [min, max] 範囲内にあるかどうかを確認します。
hg_spark_funcs.BETWEEN(x, min, max)注
BETWEEN は Hologres のキーワードであるため、この関数を使用する際には hg_spark_funcs. プレフィックスを追加する必要があります。
パラメーター
x: 必須。BIGINT 型がサポートされています。
min: 必須。指定された範囲の最小値。BIGINT 型がサポートされています。
max: 必須。指定された範囲の最大値。BIGINT 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。x が指定された範囲内にある場合は true を返し、それ以外の場合は false を返します。
例
SELECT hg_spark_funcs.BETWEEN(a,2 ,4) FROM public.spark_test;次の結果が返されます。
between --------- t
BIN
説明: 数値をそのバイナリ文字列形式に変換します。
BIN(x)パラメーター
x: 必須。BIGINT 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BIN(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BIN(a) FROM public.spark_test;次の結果が返されます。
bin ----- 11
BIT_COUNT
説明: 数値のバイナリ表現で 1 に設定されているビットの数を返します。
BIT_COUNT(x)パラメーター
x: 必須。BIGINT 型がサポートされています。
戻り値
INTEGER 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BIT_COUNT(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BIT_COUNT(a) FROM public.spark_test;次の結果が返されます。
bit_count ----------- 2
BITWISE_AND
説明: ビット単位の論理 AND 演算を実行します。
BITWISE_AND(x, y)パラメーター
x および y: 必須。INTEGER 型がサポートされています。
戻り値
INTEGER 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BITWISE_AND(a, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BITWISE_AND(a, 2) FROM public.spark_test;次の結果が返されます。
bitwise_and ------------- 2
BITWISE_NOT
説明: ビット単位の論理 NOT 演算を実行します。
BITWISE_NOT(x)パラメーター
x: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BITWISE_NOT(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BITWISE_NOT(a) FROM public.spark_test;次の結果が返されます。
bitwise_not ------------- -4
BITWISE_OR
説明: ビット単位の論理 OR 演算を実行します。
BITWISE_OR(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BITWISE_OR(a, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BITWISE_OR(a, 2) FROM public.spark_test;次の結果が返されます。
bitwise_or ------------ 3
BITWISE_XOR
説明: ビット単位の論理 XOR 演算を実行します。
BITWISE_XOR(x, y)パラメーター
x および y: 必須。INTEGER 型がサポートされています。
戻り値
INTEGER 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.BITWISE_XOR(a, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT BITWISE_XOR(a, 2) FROM public.spark_test;次の結果が返されます。
bitwise_xor ------------- 1
CHECKED_ADD
説明: 加算を実行し、数値オーバーフローが発生した場合はエラーを報告します。これにより、サイレントオーバーフローを防ぎます。
CHECKED_ADD(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CHECKED_ADD(a, 2147483647) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CHECKED_ADD(a, 2147483647) FROM public.spark_test;次の結果が返されます。
--エラーメッセージの一部は次のとおりです。 ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
説明: 除算を実行し、数値オーバーフローが発生した場合はエラーを報告します。これにより、サイレントオーバーフローを防ぎます。
CHECKED_DIVIDE(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test;次の結果が返されます。
--エラーメッセージの一部は次のとおりです。 ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
説明: 乗算を実行し、数値オーバーフローが発生した場合はエラーを報告します。これにより、サイレントオーバーフローを防ぎます。
CHECKED_MULTIPLY(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test;次の結果が返されます。
--エラーメッセージの一部は次のとおりです。 ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
説明: 減算を実行し、数値オーバーフローが発生した場合はエラーを報告します。これにより、サイレントオーバーフローを防ぎます。
CHECKED_SUBTRACT(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test;次の結果が返されます。
--エラーメッセージの一部は次のとおりです。 ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
説明: 文字列 x に文字列 y が含まれているかどうかを確認します。
CONTAINS(x, y)パラメーター
x および y: 必須。TEXT 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。x に y が含まれている場合は true を返し、それ以外の場合は false を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CONTAINS(a::text, '3') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CONTAINS(a::text, '3') FROM public.spark_test;次の結果が返されます。
contains ---------- t
CONV
説明: 数値を表す文字列を、ソース基数からターゲット基数に変換します。
CONV(x, n, m)パラメーター
x: 必須。文字列の数値。TEXT 型がサポートされています。
n: 必須。ソース基数。INTEGER 型がサポートされています。
m: 必須。ターゲット基数。INTEGER 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CONV(a::text, 10, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CONV(a::text, 10, 2) FROM public.spark_test;次の結果が返されます。
conv ------ 11
COSH
説明: 双曲線余弦を計算します。
COSH(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.COSH(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT COSH(a) FROM public.spark_test;次の結果が返されます。
cosh ------------------ 10.0676619957778
CRC32
説明: 32 ビットの巡回冗長検査 (CRC32) ハッシュ値を計算します。
CRC32(x)パラメーター
x: 必須。BYTEA 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CRC32(hg_spark_funcs.bin(a)::bytea) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CRC32(bin(a)::bytea) FROM public.spark_test;次の結果が返されます。
crc32 ------------ 3596227959
CSC
説明: 余割値を計算します。
CSC(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.CSC(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT CSC(a) FROM public.spark_test;次の結果が返されます。
csc ------------------ 7.08616739573719
ENDSWITH
説明: 文字列 x が文字列 y で終わるかどうかを確認します。
ENDSWITH(x, y)パラメーター
x および y: 必須。TEXT 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。文字列 x が文字列 y で終わる場合は true を返し、それ以外の場合は false を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;次の結果が返されます。
endswith ---------- t
EXPM1
説明: exp(x) - 1 を計算します。ここで、exp(x) はオイラー数を x のべき乗にしたものです。
EXPM1(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.EXPM1(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT EXPM1(a) FROM public.spark_test;次の結果が返されます。
expm1 ------------------ 19.0855369231877
FIND_IN_SET
説明: コンマ区切りの文字列リスト内で文字列の 1 から始まるインデックスを返します。
FIND_IN_SET(x, y)パラメーター
x および y: 必須。TEXT 型がサポートされています。
戻り値
INTEGER 型の値を返します。指定された文字列が見つからない場合は 0 を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test;次の結果が返されます。
find_in_set ------------- 4
FROM_UNIXTIME
説明: UNIX エポック (1970-01-01 00:00:00 UTC) からの秒数を、指定されたフォーマットの文字列に変換します。
FROM_UNIXTIME(x, y)パラメーター
x: 必須。秒数。BIGINT 型がサポートされています。
y: 必須。時刻フォーマット。TEXT 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test;次の結果が返されます。
from_unixtime --------------------- 1970-01-01 00:00:03
HEX
説明: 数値をその 16 進数文字列形式に変換します。
HEX(x)パラメーター
x: 必須。BIGINT 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.HEX(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT HEX(a) FROM public.spark_test;次の結果が返されます。
hex ----- 3
HYPOT
説明: 2 つの値の二乗和の平方根を計算します。
HYPOT(x, y)パラメーター
x および y: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.HYPOT(a, 4) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT HYPOT(a, 4) FROM public.spark_test;次の結果が返されます。
hypot ------- 5
IN
説明: 値が配列内に存在するかどうかを確認します。
IN(x, y)パラメーター
x: 必須。BIGINT 型がサポートされています。
y: 必須。ターゲット配列。BIGINT[] 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。配列 y に値 x が含まれている場合は true を返し、それ以外の場合は false を返します。
例
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;次の結果が返されます。
in ---- t
ISNAN
説明: 値が非数 (NaN) であるかどうかを確認します。
ISNAN(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。x の値が NaN の場合は true を返し、それ以外の場合は false を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.ISNAN(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT ISNAN(a) FROM public.spark_test;次の結果が返されます。
isnan ------- f
LEVENSHTEIN
説明: 2 つの文字列間のレーベンシュタイン距離 (編集距離とも呼ばれる) を計算します。レーベンシュタイン距離は、一方の文字列を他方の文字列に変換するために必要な単一文字の編集の最小数です。
LEVENSHTEIN(x, y)パラメーター
x および y: 必須。TEXT 型がサポートされています。
戻り値
INTEGER 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test;次の結果が返されます。
levenshtein ------------- 8
LOG10
説明: 値の 10 を底とする対数 (常用対数) を計算します。
LOG10(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.LOG10(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT LOG10(a) FROM public.spark_test;次の結果が返されます。
log10 ------------------- 0.477121254719662
LOG1P
説明: 値に 1 を加えたものの自然対数を計算します。
LOG1P(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.LOG1P(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT LOG1P(a) FROM public.spark_test;次の結果が返されます。
log1p ------------------ 1.38629436111989
LOG2
説明: 値の 2 を底とする対数 (二進対数) を計算します。
LOG2(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.LOG2(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT LOG2(a) FROM public.spark_test;次の結果が返されます。
log2 ------------------ 1.58496250072116
MIGHT_CONTAIN
説明: 値がブルームフィルターに存在する可能性があるかどうかを確認します。
MIGHT_CONTAIN(x, y)パラメーター
x: 必須。BYTEA 型がサポートされています。
y: 必須。BIGINT 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。値がブルームフィルターに存在する可能性がある場合は true を返し、それ以外の場合は false を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test;次の結果が返されます。
might_contain --------------- f
MONOTONICALLY_INCREASING_ID
説明: 単調増加する一意の 64 ビット整数を生成します。これらの整数は連続していません。
MONOTONICALLY_INCREASING_ID()戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.MONOTONICALLY_INCREASING_ID() FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT MONOTONICALLY_INCREASING_ID() FROM public.spark_test;次の結果が返されます。
monotonically_increasing_id ----------------------------- 0
PMOD
説明: x を y で割った正の剰余を計算します。
PMOD(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.PMOD(a, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT PMOD(a, 2) FROM public.spark_test;次の結果が返されます。
pmod ------ 1
REMAINDER
説明: x を y で割った余りを計算します。
REMAINDER(x, y)パラメーター
x および y: 必須。BIGINT 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.REMAINDER(a, 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT REMAINDER(a, 2) FROM public.spark_test;次の結果が返されます。
remainder ----------- 1
RINT
説明: 値に最も近い整数を返します。
RINT(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.RINT(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT RINT(a) FROM public.spark_test;次の結果が返されます。
rint ------ 3
SEC
説明: 正割値を計算します。これは、角度の余弦の逆数を返す三角関数です。
SEC(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SEC(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SEC(a) FROM public.spark_test;次の結果が返されます。
sec ------------------- -1.01010866590799
SHA1
説明: バイナリ文字列のセキュアハッシュアルゴリズム 1 (SHA-1) ハッシュを計算し、結果を 16 進数文字列として返します。
SHA1(x)パラメーター
x: 必須。BYTEA 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SHA1(a::text::bytea) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SHA1(a::text::bytea) FROM public.spark_test;次の結果が返されます。
sha1 ------------------------------------------ 77de68daecd823babbb58edb1c8e14d7106e83bb
SHA2
説明: バイナリ文字列の SHA-2 ハッシュ (SHA-224、SHA-256、SHA-384、または SHA-512) を計算し、結果を 16 進数文字列として返します。
SHA2(x, y)パラメーター
x: 必須。BYTEA 型がサポートされています。
y: 必須。INTEGER 型がサポートされています。
戻り値
TEXT 型の値を返します。
注
サポートされていないビット長は NULL を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SHA2(a::text::bytea, 3) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SHA2(a::text::bytea, 3) FROM public.spark_test;次の結果が返されます。
sha2 ------ NaN
SHIFTLEFT
説明: 値に対してビット単位の左シフトを実行します。
SHIFTLEFT(x, y)パラメーター
x: 必須。シフトされる値。BIGINT 型がサポートされています。
y: 必須。値を左にシフトするビット数。INTEGER 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SHIFTLEFT(a, 1) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SHIFTLEFT(a, 1) FROM public.spark_test;次の結果が返されます。
shiftleft ----------- 6
SHIFTRIGHT
説明: 値に対してビット単位の右シフトを実行します。
SHIFTRIGHT(x, y)パラメーター
x: 必須。シフトされる値。BIGINT 型がサポートされています。
y: 必須。値を右にシフトするビット数。INTEGER 型がサポートされています。
戻り値
BIGINT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SHIFTRIGHT(a, 1) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SHIFTRIGHT(a, 1) FROM public.spark_test;次の結果が返されます。
shiftright ------------ 1
SINH
説明: 双曲線正弦を計算します。
SINH(x)パラメーター
x: 必須。DOUBLE PRECISION 型がサポートされています。
戻り値
DOUBLE PRECISION 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SINH(a) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SINH(a) FROM public.spark_test;次の結果が返されます。
sinh ------------------ 10.0178749274099
SOUNDEX
説明: 文字列のサウンデックスコードを返します。
SOUNDEX(x)パラメーター
x: 必須。TEXT 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SOUNDEX(concat('holo', a)) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SOUNDEX(concat('holo', a)) FROM public.spark_test;次の結果が返されます。
soundex --------- H400
STARTSWITH
説明: 文字列 x が文字列 y で始まるかどうかを確認します。
STARTSWITH(x, y)パラメーター
x および y: 必須。TEXT 型がサポートされています。
戻り値
BOOLEAN 型の値を返します。文字列 x が文字列 y で始まる場合は true を返し、それ以外の場合は false を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;次の結果が返されます。
startswith ------------ f
SUBSTRING_INDEX
説明: 区切り文字の n 回目の出現前の文字列から部分文字列を返します。
SUBSTRING_INDEX(x, y, n)パラメーター
x: 必須。ソース文字列。TEXT 型がサポートされています。
y: 必須。区切り文字。TEXT 型がサポートされています。
n: 必須。区切り文字の出現回数。INTEGER 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test;次の結果が返されます。
substring_index ----------------- 3hol
UNHEX
説明: 16 進数文字列をそのバイナリ表現に変換します。
UNHEX(x)パラメーター
x: 必須。TEXT 型がサポートされています。
戻り値
TEXT 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.UNHEX(a::text) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT UNHEX(a::text) FROM public.spark_test;次の結果が返されます。
unhex ------- \x03
URL_DECODE
説明: URL エンコードされた文字列をデコードします。
URL_DECODE(x)パラメーター
x: 必須。VARCHAR 型がサポートされています。
戻り値
VARCHAR 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.URL_DECODE(hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT URL_DECODE(URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test;次の結果が返されます。
url_decode --------------- www.chinese3.com
URL_ENCODE
説明: 文字列を URL セーフなフォーマットにエンコードします。
URL_ENCODE(x)パラメーター
x: 必須。VARCHAR 型がサポートされています。
戻り値
VARCHAR 型の値を返します。
例
-- 方法 1: 直接呼び出し (推奨) SELECT hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test; -- 方法 2: 検索パスを設定してから関数を呼び出す SET search_path = 'hg_spark_funcs'; SELECT URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test;次の結果が返されます。
url_encode ----------------------------- www.%E4%B8%AD%E6%96%873.com