Как настроить процесс ETL для DataFrames (dbt или альтернативные инструменты)?Python

Программы на Python
Ответить
Anonymous
 Как настроить процесс ETL для DataFrames (dbt или альтернативные инструменты)?

Сообщение Anonymous »

Вопрос. В настоящее время я работаю над прототипом информационной панели и храню данные из 22-страничного PDF-документа в виде 22 отдельных DataFrame. Эти DataFrames должны подвергаться процессу ETL (особенно преобразованию типов данных) при каждом импорте перед записью в базу данных.
Мой первоначальный подход заключался в использовании начальных значений и/или моделей dbt. Однако dbt загружает начальный CSV-файл непосредственно в базу данных SQLite, при этом мои предыдущие преобразования не вступили в силу. Я хочу сначала преобразовать, а затем загрузить.
Настройка:
* Источник данных: 22 DataFrames, извлеченные из таблиц PDF
* База данных: SQLite (только для прототипа)
* Инструмент ETL/ELT: желательно dbt, но не обязательно
* Язык: Python Проблема: Как настроить рабочий процесс ETL, в котором обрабатываются DataFrames и преобразуются напрямую, без необходимости предварительной загрузки их в базу данных в формате CSV (начальные значения)?
Есть ли способ интегрировать DataFrames непосредственно в процесс модели dbt? Если нет, то какие альтернативные инструменты подходят (например, Airflow, Dagster, Prefect, конвейеры ETL на основе pandas и т. д.)?
Предыдущие попытки:
* начальное значение dbt: загружает CSV непосредственно в базу данных → преобразования не работают
* модели dbt: работают только в том случае, если данные уже есть в базе данных, чего я хочу избежать
* В настоящее время: преобразование типов вручную в Python (float, int, string, datetime).
Ищу: лучшие практики или рекомендации по инструментам для прямого преобразования DataFrames и последующей загрузки их в SQLite — с dbt или без него.

Подробнее здесь: https://stackoverflow.com/questions/798 ... tive-tools
Ответить

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

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

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

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

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