表名的 Redshift UDF?

Posted

技术标签:

【中文标题】表名的 Redshift UDF?【英文标题】:Redshift UDF For Table Name? 【发布时间】:2016-05-11 00:37:26 【问题描述】:

你可以在 Redshift 中使用 Python UDF 来动态设置表名吗?我们的表是这样命名的:table_REGION_YYYYQQ

根据用户通过我们的内部 ETL 工具传递给查询的日期/区域参数,我想调整基础表名称。但是,将表名作为字符串返回似乎不起作用。

有什么解决办法吗?

【问题讨论】:

【参考方案1】:

Amazon Redshift documentation 说:

您可以创建自定义用户定义的标量函数 (UDF),以基于 Python 程序实现非 SQL 处理。

因此,UDF 可用于计算值,但不能用于调用 SQL 函数(例如更改表属性的命令)。

虽然 PostgreSQL 有一个可以从字符串运行 SQL 命令的 eval() 函数,但 Amazon Redshift 不支持此功能。

【讨论】:

以上是关于表名的 Redshift UDF?的主要内容,如果未能解决你的问题,请参考以下文章

redshift 更改 udf 更改所有者

Redshift:不能在 UDF 中使用聚合函数?

如何在 Redshift(亚马逊)中更新 UDF?

我们应该在 Redshift 的存储过程中使用 udf

在 redshift UDF 中导入 jellyfish 模块

您可以从 Redshift 中的 python UDF 返回多个值吗?