我一直在尝试在 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
但是在我的情况下,真正需要的是将这个提取与另一个表中找到的另一个数据连接起来(这可能是 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
在我看来,这有两个问题:
- 在像倭黑猩猩这样的并行/分布式提取中加入这样的表是没有意义的;
- sqlalchemy 的 bonobo 实现是为使用多处理/线程而构建的;
我怎样才能让它工作?我应该转向另一个工具吗?