{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://inquir.org/ru/use-cases/nightly-etl#webpage","url":"https://inquir.org/ru/use-cases/nightly-etl","name":"Ночной ETL: извлечение, преобразование и загрузка шагами пайплайна без Airflow","headline":"Ночной ETL: извлечение, преобразование и загрузка шагами пайплайна без Airflow","description":"Serverless ночной ETL: извлечение из внешних источников, трансформация на Node.js или Python, загрузка в хранилище — в scheduled pipeline с ретраями, историей и без Airflow.","inLanguage":"ru-RU","isPartOf":{"@id":"https://inquir.org/#website"},"author":{"@type":"Organization","name":"Inquir"},"datePublished":"2025-01-01T00:00:00.000Z","dateModified":"2026-04-20T00:00:00.000Z","citation":"https://inquir.org/docs"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная","item":"https://inquir.org"},{"@type":"ListItem","position":2,"name":"Сценарии","item":"https://inquir.org/use-cases"},{"@type":"ListItem","position":3,"name":"Ночной ETL","item":"https://inquir.org/use-cases/nightly-etl"}]},{"@type":"HowTo","@id":"https://inquir.org/ru/use-cases/nightly-etl#howto","name":"Ночной ETL: извлечение, преобразование и загрузка шагами пайплайна без Airflow","description":"Serverless ночной ETL: извлечение из внешних источников, трансформация на Node.js или Python, загрузка в хранилище — в scheduled pipeline с ретраями, историей и без Airflow.","inLanguage":"ru-RU","author":{"@type":"Organization","name":"Inquir"},"step":[{"@type":"HowToStep","position":1,"name":"Извлечение (extract)","text":"Запросить данные из источников (база, HTTP API, файлы) за нужный интервал — например, за прошедшие сутки."},{"@type":"HowToStep","position":2,"name":"Преобразование (transform)","text":"Агрегация, очистка, обогащение справочниками. Результат удобно сохранить во временную таблицу или объект в хранилище."},{"@type":"HowToStep","position":3,"name":"Загрузка (load)","text":"Идемпотентная запись в аналитическое хранилище: например, очистка партиции и вставка, MERGE или UPSERT по бизнес-ключу."}],"isPartOf":{"@id":"https://inquir.org/ru/use-cases/nightly-etl#webpage"}},{"@type":"FAQPage","@id":"https://inquir.org/ru/use-cases/nightly-etl#faq","url":"https://inquir.org/ru/use-cases/nightly-etl","isPartOf":{"@id":"https://inquir.org/ru/use-cases/nightly-etl#webpage"},"mainEntity":[{"@type":"Question","name":"Как передать данные между шагами?","acceptedAnswer":{"@type":"Answer","text":"Обычно через объектное хранилище (ключ объекта передают в полезной нагрузке следующего шага) или через промежуточную таблицу в базе, если объём позволяет."}},{"@type":"Question","name":"Можно ли параллельно извлекать из нескольких источников?","acceptedAnswer":{"@type":"Answer","text":"Да: несколько шагов без явной зависимости `dependsOn` могут выполняться параллельно — например, одновременное чтение из разных API или баз."}}]}]}