在 redshift UDF 中导入 jellyfish 模块
Posted
技术标签:
【中文标题】在 redshift UDF 中导入 jellyfish 模块【英文标题】:import jellyfish module in redshift UDF 【发布时间】:2017-11-09 16:01:12 【问题描述】:Redshift - python UDF 可以导入内置以及几个重要的模块。但我有一个需要“水母”模块的功能。
我尝试执行此处提到的步骤...
http://docs.aws.amazon.com/redshift/latest/dg/udf-python-language-support.html#udf-importing-custom-python-library-modules
但我想,在 redshift UDF 中导入模块一定更容易。如何在 redshift 中导入第三方模块?
【问题讨论】:
【参考方案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 库。
【讨论】:
以上是关于在 redshift UDF 中导入 jellyfish 模块的主要内容,如果未能解决你的问题,请参考以下文章