在AWS红移上安装h3 python库以便在UDF中使用
我试图通过在安装中使用来将python库作为aws redshift的自定义库安装。 我按照流程创建了以下函数:在AWS红移上安装h3 python库以便在UDF中使用,python,sql,amazon-redshift,h3,Python,Sql,Amazon Redshift,H3,我试图通过在安装中使用来将python库作为aws redshift的自定义库安装。 我按照流程创建了以下函数: create or replace function geo_to_h3 (lat float, lon float, h3_resolution int) returns varchar(60) stable as $$ from h3 import h3 return h3.geo_to_h3( lat , lon, h3_resolution) $$ langua
create or replace function geo_to_h3 (lat float, lon float, h3_resolution int)
returns varchar(60)
stable
as $$
from h3 import h3
return h3.geo_to_h3( lat , lon, h3_resolution)
$$ language plpythonu;
执行时,请执行以下操作:
select geo_to_h3(38.774467 , -9.115598, 9)
我收到以下错误:
OSError:/rdsdbdata/user_lib/0/0/1334190.zip/h3/out/libh3.so.1:无法打开共享对象文件:不是目录
尝试在redshift上安装并在代码中使用它,但我得到:
ImportError:没有名为_h3的模块
我还用一个简单的库对此进行了测试,以验证创建是否有效,这可能是因为H3forPython只是C中核心库的绑定。
关于如何使其运行,或者不可能在AWS Redshift上安装每种类型的python库,有什么建议吗?导入Redshift的库当前要求是纯python。不允许预编译的C/C++扩展。这似乎是Python错误构建共享库的问题。我们一直在努力解决这个问题。我不是当前构建的专家,所以我不确定我能调试好它。新的Cython分支尚未在PyPI上可用,但您可以尝试使用该分支自述文件上的说明手动构建它。如果你尝试了,让我知道它是如何工作的!理想情况下,我们将在发布Cython重新编写时解决这些安装问题。