Dask 遇到 read_sql_table 问题

问题描述 投票:0回答:2

我想对一些 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 引擎,但驱动程序不接受

python dask
2个回答
1
投票

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


    


0
投票
我有完全相同的错误。我已经尝试降级到 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' *

© www.soinside.com 2019 - 2024. All rights reserved.