UDF в запросах ETL (задания фида данных)

CREATE OR REPLACE FUNCTION f_stop_distance (Float, Float, Float, Float) /* This calculates distance in meters between two sets of lat and long */
   RETURNS FLOAT
 IMMUTABLE
 AS $$
   SELECT
      2 * 6373000 * ASIN( SQRT( ( SIN( RADIANS(($3 - $1) / 2) ) ) ^ 2 + COS(RADIANS($1)) * COS(RADIANS($3)) * (SIN(RADIANS(($4 - $2) / 2))) ^ 2))
 $$ LANGUAGE sql
;

Выше приведен фрагмент кода, который я использовал для вычисления расстояния между двумя парами длинных лат. Мой вопрос: могу ли я использовать вышесказанное и в запросах ETL?

Примечание. Я не являюсь суперпользователем, и мне не будут предоставлены права суперпользователя.

Обновление: я уже пытался выполнить в ETL. Вот ошибка, которую я получил:

2019-02-20 03:19:56,594 ERROR ExtractAdapterForRedshiftWithUnload prepareS3Dataset():609 - Error Code from SQL state 42501
org.postgresql.util.PSQLException: ERROR: must be owner of function f_stop_distance
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)

0 ответов

Другие вопросы по тегам