Поддержание согласованности между функциями Python (например, Polars) и пользовательскими функциями SQL (например, RedshPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Поддержание согласованности между функциями Python (например, Polars) и пользовательскими функциями SQL (например, Redsh

Сообщение Anonymous »

Я работаю над проектом по обработке данных, который обрабатывает данные из нескольких источников, используя Polars в Python и Redshift в качестве хранилища данных. Мне нужна надежная стратегия для обеспечения единообразия функций Python Polars и пользовательских функций (UDF), которые предназначены для выполнения одних и тех же действий в обеих средах.
Рассмотрим этот пример (функции представляют собой на самом деле намного дольше):
Функция Python Polars:

Код: Выделить всё

def to_flatcase(sr: pl.Series):
sr = sr.str.to_lowercase().str.replace_all(r"[^a-z0-9]", "")
return sr
Соответствующая пользовательская функция Redshift SQL:

Код: Выделить всё

CREATE OR REPLACE FUNCTION to_flatcase(title VARCHAR)
RETURNS VARCHAR
IMMUTABLE
AS $$
SELECT REGEXP_REPLACE(
LOWER($1),
'[^a-z0-9]',
''
)
$$ LANGUAGE SQL;
Мои задачи:
  • Как я могу гарантировать, что пользовательская функция Redshift всегда будет соответствовать логике функции Python в будущем?< /li>
    Как лучше всего управлять этими функциями и управлять их версиями в репозитории с учетом первой задачи?
  • Существуют ли какие-либо инструменты или шаблоны, которые могут помочь автоматизировать это синхронизацию?
  • Какой подход к развертыванию этих пользовательских функций в Redshift наиболее удобен?
Я ищу стратегии это сводит к минимуму ручную работу и снижает риск несогласованности между двумя реализациями.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ql-e-g-red
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»