python Dask遇到read_sql_table问题

zbdgwd5y  于 2023-04-19  发布在  Python
关注(0)|答案(2)|浏览(268)

我想对一些SQL大型表使用Dask,但是当我运行

  1. dd.read_sql_table('ORDENES', str(engine.url), index_col='ID', npartitions=1)

我收到这个

  1. TypeError: Additional arguments should be named <dialectname>_<argument>, got 'autoload'

原始引擎是这样的:

  1. engine = create_engine("mysql+pymysql://" + "xxx" + ":" + "xxx" + "@" + "xxx.amazonaws.com" + "/" + "facturacion")

任何想法如何解决这个问题?,我试图添加自动加载到mysql引擎,但驱动程序不接受

41zrol4v

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

uplii1fm

uplii1fm2#

我有完全相同的错误。我已经尝试降级到1.4.45,但仍然是同样的问题。有什么建议吗?
df = dd.read_sql_table(table_name='master_cat_table', con=mssql_db08_conn, index_col='MasterCatalog', npartitions=4)

错误:* 类型错误:其他参数应命名为_,得到'autoload' *

相关问题