我试图在Redshift上创建一个用SQL调用的函数。我查看了文档,但我相信我编写代码可能是一个问题。
该函数的目的是使用Python 2.7包Shapely将EWKT(扩展的已知文本https://en.wikipedia.org/wiki/Well-known_text)转换为纬度和经度。
在Redshift上安装了Shapely包
我已成功使用python运行我的代码;但是,当我尝试创建要在Redshift中调用的函数时,我无法按预期执行代码。我认为我编写redshift代码的方法是不正确的,但我不知道为什么 - 请你帮我解决这个问题?
**
**
CREATE OR REPLACE FUNCTION schema.latlong(a VARCHAR) RETURNS VARCHAR STABLE as $$
def latlong(z):
import pandas as pd
from shapely import wkb
hexlocation = z['store_geo_location']
point = wkb.loads(hexlocation, hex=True)
longitude = point.x
latitude = point.y
a = str(latitude) +','+str(longitude)
return(a)
$$ LANGUAGE plpythonu;
**
**
from shapely import wkb
import pandas as pd
def f_latlong(z):
hexlocation = z
point = wkb.loads(hexlocation, hex=True)
longitude = point.x
latitude = point.y
# return longitude, latitude
a = str(latitude) +','+str(longitude)
return(a)