Я пытаюсь создать функцию в Redshift для вызова с SQL. Я посмотрел на документацию, но я считаю, что то, как я пишу код, может быть проблемой.
Цель функции - преобразовать EWKT (расширенный хорошо известный текст https://en.wikipedia.org/wiki/Well-known_text) в широту и долготу с использованием пакета Python 2.7 Shapely.
Пакет Shapely был установлен в Redshift
Я успешно запустил свой код с использованием Python; однако, когда я пытаюсь создать функцию, которая будет вызываться в 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;
**
- Пример кода, запускаемого на Python:
**
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)