首页 > 解决方案 > SQL UDF 中传递的参数数量限制是多少?

问题描述

我正在尝试使用变体表将要提取的信息转换为 Snowflake,并使用我需要的计算数据创建一个新表。

例如,我正在提取此信息

资料栏:

在此处输入图像描述

我想计算到这样的表作为输出:

团队 |Min_speed|Max_speed|Median_speed|Mean_speed|Average_speed|current_date

在这里读到您需要将 javascript 和 SQL UDF 分开,但找不到可以传递给 UDF 的参数数量的任何限制。

使用 python,我可以转换此信息,但我希望表将其插入超时 - 我正在我的 s3 阶段探索 Lamdas,但现在我需要专注于 udf 以调用将新数据加载到表中。

CREATE OR REPLACE PROCEDURE SPEED_BY_GAME_DAY (team_id, sprint_speed)
LANGUAGE SQL
AS '
    INSERT INTO new_table VALUES(SELECT team_id, MIN(sprint_speed) as Min_speed, MAX(sprint_speed) as AVG(sprint_speed_) as AVG_speed, CURRENT_DATE() 
    FROM 
      tablename
    WHERE 
      CURRENT_DATE() = TODAY()
    GROUP BY team_id; )
';

这是正确的方向吗?

标签: snowflake-cloud-data-platform

解决方案


你的问题看起来像一个理论练习。

某处显然存在实际最大值,您如何保持对数百个参数的监督?

如果你需要大量的参数,你可以将它们构造成一个VARIANT类型的参数,可以用OBJECT_CONSTRUCT()and构造ARRAY_CONSTRUCT()


推荐阅读