Рассмотрим этот пример (функции представляют собой на самом деле намного дольше):
Функция Python Polars:
Код: Выделить всё
def to_flatcase(sr: pl.Series):
sr = sr.str.to_lowercase().str.replace_all(r"[^a-z0-9]", "")
return sr
Код: Выделить всё
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