【发布时间】:2020-04-14 20:45:16
【问题描述】:
我一直在尝试在 Bonobo 中加入不同的数据源(MySQL 和 PostgreSQL),但到目前为止我一直在努力处理并行性问题,如果 bonobo 是最合适的工具
我知道我可以用这样的方式获取 Bonobo 数据
def get_graph(**options):
graph = bonobo.Graph()
graph.add_chain(
bonobo_sqlalchemy.Select('SELECT * FROM table', limit=100, engine='psql'),
...,
)
return graph
但在我的情况下,atm 真正需要的是将此获取与另一个数据中的另一个数据连接起来,在另一个表中找到(这可能是 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
在我看来,这有两个问题:
- 在像 bonobo 这样的并行/分布式提取中加入这样的表是没有意义的;
- sqlalchemy 的 bonobo 实现是为使用多处理/线程而构建的;
我怎样才能让它工作?我应该改用其他工具吗?
【问题讨论】:
标签: python etl bonobo-etl