SYS_LUDF_DETAIL - Amazon Redshift

从补丁 198 开始,Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息,请参阅博客文章

SYS_LUDF_DETAIL

SYS_LUDF_DETAIL 记录在特定查询中使用的 Lambda 用户定义函数(LUDF)的信息和指标。

SYS_LUDF_DETAIL 仅对超级用户可见。有关更多信息,请参阅 系统表和视图中的数据可见性

表列

列名称 数据类型 描述
user_id 整数 提交用于调用函数的查询的用户标识符。
transaction_id bigint 事务标识符。
query_id bigint 用户查询标识符。
function_oid bigint 目录中函数的对象 ID。
function_position 整数 此函数在步骤中的数字位置。例如,如果查询的 SELECT 列表中有多个对同一函数的调用,则可以使用这些位置数字来识别它们。
stream_id 整数 在其中执行了函数调用的流标识符。
segment_id 整数 在其中执行了函数调用的段标识符。
step_id 整数 在其中执行了函数调用的步骤标识符。
lambda_function_name char(256) lambda 函数的名称。
start_time timestamp 调用开始的时间。
end_time timestamp 调用结束的时间。
total_duration bigint 调用的总持续时间。
调用 整数 并发调用或外部调用的数量。
total_rows bigint 传递/返回到调用的行数,或从调用传递/返回的行数。
input_bytes bigint 传递到调用的字节数。
output_bytes bigint 调用产生的字节数。

示例查询

以下示例在查询中使用 Lambda UDF,然后演示如何查询 SYS_LUDF_DETAIL 视图以查看函数执行详细信息。

SET SESSION AUTHORIZATION regular_user; CREATE EXTERNAL FUNCTION exfunc_sum(INT,INT) RETURNS INT STABLE LAMBDA 'lambda_sum' IAM_ROLE 'arn:aws:iam::123456789012:role/Redshift-Exfunc-Test'; CREATE TABLE t_sum(c1 int, c2 int); INSERT INTO t_sum VALUES (4,5), (6,7); SELECT exfunc_sum(c1,c2) FROM t_sum; -- Switch to super user in order to inspect records in the LUDF SYS view. SET SESSION AUTHORIZATION super_user; select * from sys_ludf_detail;

示例输出:

user_id | transaction_id | query_id | function_oid | function_position | stream_id | segment_id | step_id | lambda_function_name | start_time | end_time | total_duration | invocations | total_rows | input_bytes | output_bytes ---------+----------------+----------+--------------+-------------------+-----------+------------+---------+----------------------+----------------------------+----------------------------+----------------+-------------+------------+-------------+-------------- 100 | 1463 | 1544 | 111055 | 0 | 0 | 0 | 2 | lambda_sum | 2026-01-06 17:23:25.165898 | 2026-01-06 17:23:25.165898 | 414 | 1 | 2 | 277 | 18 (1 row)