【发布时间】:2016-08-12 19:29:44
【问题描述】:
我开始学习 Redshift 中的 Python 用户定义函数,我有几个问题需要澄清。假设我已经定义了以下函数:
CREATE OR REPLACE FUNCTION f_parse_url_query_string(url VARCHAR(MAX))
RETURNS varchar(max)
STABLE
AS $$
from urlparse import urlparse, parse_qsl
import json
return json.dumps(dict(parse_qsl(urlparse(url)[4])))
$$ LANGUAGE plpythonu;
这是每次调用函数时都会运行imports,还是由 Redshift 编译并仅导入一次?
我的第二个问题是是否有办法返回可变数据类型。例如,如果我想创建一个获取嵌套 json 字段值的函数,则结果可以是从字符串到整数或布尔值的任何内容。有没有办法在函数返回类型上创建自动检测?
【问题讨论】:
标签: python user-defined-functions amazon-redshift