试图将 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')
我正在尝试使用 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')