0

我试图通过使用它来安装来自ubers 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)
$$ 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 上安装h3cy并在代码中使用它,但我得到:

ImportError:没有名为 _h3 的模块

我还用一个简单的库对此进行了测试以验证创建,它可以工作。可能是因为 python 的 h3 只是与 C 中的核心库的绑定。关于如何运行它的任何建议,或者不可能安装每个AWS Redshift 上的 Python 库类型?

4

1 回答 1

1

导入 Redshift 的库目前需要是纯 Python。不允许预编译的 C/C++ 扩展。

于 2020-02-04T13:41:44.660 回答