我想对一些 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 引擎,但驱动程序不接受
Dask 使用 SQLAlchemy 来执行 SQL 操作。问题是目前 dask 还没有更新以与 SQLAlchemy 2.0 一起使用。
创建 SQLAlchemy Table
对象时,它仍然使用
autoload
参数。
根据 SQLAlchemy 迁移到 2.0 指南 autoload_with=engine
应该改用。在更新 dask 以支持 SQLAlchemy 2.0 之前,最简单的解决方法是使用 SQLAlchemy 版本 1.4.45。
pip install sqlalchemy==1.4.45
df = dd.read_sql_table(table_name='master_cat_table', con=mssql_db08_conn, index_col='MasterCatalog', npartitions=4)
ERROR: *TypeError: Additional arguments should be named _, got 'autoload' *