在Redshift中使用Python聚合UDF

and*_*apo 7 python amazon-web-services amazon-redshift udf

我设法在AmazonRedshift中用Python编写一些标量函数,即将一列或几列作为输入并根据某些逻辑或转换返回单个值.

但是有没有办法在UDF中传递数字列(即列表)的所有值并计算这些值的统计数据,例如平均值或标准差?

小智 8

文档说明只有标量udf函数是可能的(参见http://docs.aws.amazon.com/redshift/latest/dg/user-defined-functions.html).

但是,如果值列表不是太大,通过创建字符串标量udf期望字符串列表,LISTAGG函数执行的结果,您可能会作弊.

例如: select udfSum(listagg(val,'|')) from table;

请参阅:http://docs.aws.amazon.com/redshift/latest/dg/r_LISTAGG.html