从数据集SQLQueryDataSet加载数据时失败



我收到这个错误:

DataSetError: Failed while loading data from data set SQLQueryDataSet(load_args={}, sql=select * from table)

当我运行(在kedro jupyter笔记本内(:

%reload_kedro

c: \users\name.virtualenvs\pipenv_kedro\lib\site packages\ipykernel\ipkernel.py:283:弃用警告:should_run_async将来不会自动调用transform_cell。请将结果传递给transformed_cell参数,以及在IPython 7.17及更高版本的preprocessing_exc_tuple中转换期间发生的任何异常。和should_run_async(代码(2021-04-21 15:29:12278-kedro.framework.session.store-INFO-read()未为BaseSessionStore实现。假设仓库为空。2021-04-21 15:29:12696-根-信息-**Kedro项目2021-04-21 15:29:12698-根-信息-定义的全局变量contextsessioncatalog2021-04-21 15:29:12703-根-信息-注册线魔术run_viz

然后这个:

catalog.list()
#['table', 'parameters']
catalog.load('table')

我的catalog.yml文件包含的位置:

table:
type: pandas.SQLQueryDataSet
credentials: secret
sql: select * from table
layer: raw

然而,当我运行这个(在同一个kedro jupyter笔记本内(时,我能够收回预期的结果:

from kedro.extras.datasets.pandas import SQLQueryDataSet
sql = "select * from table"
credentials = {
"con": secret
}
data_set = SQLQueryDataSet(sql=sql,
credentials=credentials)
sql_data = data_set.load()

如何修复此错误?

我认为差异来自凭据。在你的目录中你有

table:
type: pandas.SQLQueryDataSet
credentials: secret

但在你用测试的笔记本上

credentials = {
"con": secret
}

yaml文件中映射的值应该与credentials.yml中的条目名称匹配,因此类似

# in catalog.yml
table:
type: pandas.SQLQueryDataSet
credentials: db_creds
# in credentials.yml
db_creds:
con: secret

相关内容

  • 没有找到相关文章

最新更新