Подстановка ref и source в SQL модели для окружения
Напишите compile_sql(sql, env) — упрощённую компиляцию модели dbt.
- В тексте встречаются вызовы
{{ ref('имя') }}и{{ source('источник', 'таблица') }}. Внутри скобок могут быть одинарные или двойные кавычки и любые пробелы вокруг элементов. env— словарь с ключами"schema"(схема для моделей) и"sources"— словарьисточник → схема.ref('x')заменяется насхема.x,source('s', 't')— наsources[s].t.- Верните кортеж
(скомпилированный_sql, refs), гдеrefs— отсортированный список уникальных имён изref. - Если источника нет в
env["sources"], бросьтеKeyError.
заготовка решения
import re
def compile_sql(sql, env):
# ваш код
return None