我想对一些SQL大型表使用Dask,但是当我运行
dd.read_sql_table('ORDENES', str(engine.url), index_col='ID', npartitions=1)
我收到这个
TypeError: Additional arguments should be named <dialectname>_<argument>, got 'autoload'
原始引擎是这样的:
engine = create_engine("mysql+pymysql://" + "xxx" + ":" + "xxx" + "@" + "xxx.amazonaws.com" + "/" + "facturacion")
任何想法如何解决这个问题?,我试图添加自动加载到mysql引擎,但驱动程序不接受
2条答案
按热度按时间41zrol4v1#
Dask使用SQLAlchemy来执行SQL操作。问题是目前dask还没有更新到与SQLAlchemy 2.0一起使用。
在创建SQLAlchemy Table对象时,它仍然使用
autoload
参数。根据SQLAlchemy migration to 2.0 guide,应该使用
autoload_with=engine
。在dask更新为支持SQLAlchemy 2.0之前,最简单的解决方法是使用SQLAlchemy版本1.4.45。
pip install sqlalchemy==1.4.45
uplii1fm2#
我有完全相同的错误。我已经尝试降级到1.4.45,但仍然是同样的问题。有什么建议吗?
df = dd.read_sql_table(table_name='master_cat_table', con=mssql_db08_conn, index_col='MasterCatalog', npartitions=4)
错误:* 类型错误:其他参数应命名为_,得到'autoload' *