【发布时间】:2016-05-11 00:37:26
【问题描述】:
你可以在 Redshift 中使用 Python UDF 来动态设置表名吗?我们的表是这样命名的:table_REGION_YYYYQQ
根据用户通过我们的内部 ETL 工具传递给查询的日期/区域参数,我想调整基础表名称。但是,将表名作为字符串返回似乎不起作用。
有什么解决办法吗?
【问题讨论】:
你可以在 Redshift 中使用 Python UDF 来动态设置表名吗?我们的表是这样命名的:table_REGION_YYYYQQ
根据用户通过我们的内部 ETL 工具传递给查询的日期/区域参数,我想调整基础表名称。但是,将表名作为字符串返回似乎不起作用。
有什么解决办法吗?
【问题讨论】:
Amazon Redshift documentation 说:
您可以创建自定义用户定义的标量函数 (UDF),以基于 Python 程序实现非 SQL 处理。
因此,UDF 可用于计算值,但不能用于调用 SQL 函数(例如更改表属性的命令)。
虽然 PostgreSQL 有一个可以从字符串运行 SQL 命令的 eval() 函数,但 Amazon Redshift 不支持此功能。
【讨论】: