试图将 sqlite 数据库读取到 Dask 数据框

Trying to read sqlite database to Dask dataframe

我正在尝试使用 Dask 从 kaggle 中的 sqlite 数据库读取 table,

link 到数据库:https://www.kaggle.com/datasets/marcilonsilvacunha/amostracnpj?select=amostraCNPJ.sqlite 该数据库中的某些 table 非常大,我想测试 dask 如何处理它们。 我为较小的 sqlite 数据库中的 table 之一编写了以下代码:

import dask.dataframe as ddf
import sqlite3

# Read sqlite query results into a pandas DataFrame
con = sqlite3.connect("/kaggle/input/amostraCNPJ.sqlite")
df = ddf.read_sql_table('cnpj_dados_cadastrais_pj', con, index_col='cnpj')  

# Verify that result of SQL query is stored in the dataframe
print(df.head())

这给出了一个错误:

AttributeError: 'sqlite3.Connection' 对象没有属性 '_instantiate_plugins'

任何帮助将不胜感激,因为这是我第一次使用 Dask 阅读 sqlite。

如文档字符串所述,您不应将连接对象传递给 dask。您需要传递一个 sqlalchemy 兼容的连接字符串

df = ddf.read_sql_table('cnpj_dados_cadastrais_pj',
    'sqlite:////kaggle/input/amostraCNPJ.sqlite', index_col='cnpj')