在Redshift中使用Python聚合UDF

时间:2015-10-25 13:00:24

标签: python amazon-web-services amazon-redshift udf

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

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

1 个答案:

答案 0 :(得分:7)

文档说明只能使用标量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