Redshift - python UDF可以导入内置以及几个重要的模块。但我有一个需要"水母"模块。
我试图实现这里提到的步骤......
但我想,在redshift UDF中导入模块必须更容易。如何在redshift中导入第三方模块?
答案 0 :(得分:1)
这是正确的方法。您必须先导入库,然后UDF才能使用它。粗略的例子(未经测试):
CREATE LIBRARY jellyfish LANGUAGE plpythonu FROM 's3://…
CREATE OR REPLACE FUNCTION f_jellyfish_levenshtein (a varchar, b varchar) RETURNS int IMMUTABLE as $$
import jellyfish
jellyfish.levenshtein_distance(a, b)
return LineSegment(x1, y1, x2, y2).distance()
$$ LANGUAGE plpythonu;
请注意,Redshift UDF目前不允许您执行C / C ++ Python扩展,只有纯Python库才能工作。