Присоединение к базе данных в Bonobo с использованием bonobo_sqlalchemy (ETL) - PullRequest
0 голосов
/ 14 апреля 2020

Я пытался объединить разные источники данных (MySQL и PostgreSQL) в Bonobo, но я до сих пор боролся с паралелизмом, и если Bonobo является наиболее подходящим инструментом для этого

Я знаю, что могу получать данные Bonobo с такими

def get_graph(**options):
    graph = bonobo.Graph()
    graph.add_chain(
        bonobo_sqlalchemy.Select('SELECT * FROM table', limit=100, engine='psql'),
        ...,
    )

    return graph

Но в моей ситуации действительно желательно объединить этот выбор с другими данными, найденными в другой таблице (это может быть потенциально присоединиться к dask / pandas)

Я знаю, что могу получить данные Bonobo с такими

def get_graph(**options):
    graph = bonobo.Graph()
    graph.add_chain(
        bonobo_sqlalchemy.Select('SELECT * FROM table', limit=100, engine='psql'),
        fetch_mysql_and_join_data,
        ...,
    )

    return graph

На мой взгляд, это имеет две проблемы:

  1. Это нет смысла объединять такие таблицы в параллельную / распределенную выборку, как bonobo;
  2. реализация sqlalchemy для bonobo построена для работы с многопроцессорной обработкой / многопоточностью;

Как я могу сделай так, чтоб это работало? Должен ли я перейти к другому инструменту?

...