RedshiftでPythonユーザー定義関数を学び始めています。私は明確にする必要があるいくつかの質問があります。Redshift Python UDFの各関数呼び出しでのインポート
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
に関数が呼び出されたか、これは赤方偏移によってコンパイルされ、1つだけの時間をインポートするたびに実行するつもりです:私は次の関数を定義したと仮定すると?
私の2番目の質問は、可変データ型を返す方法があるかどうかです。たとえば、入れ子になったjsonフィールドの値を取得する関数を作成する場合、結果は文字列から整数またはブール値のいずれかになります。関数の戻り型について自動検出を作成する方法はありますか?