我的《远大前程》项目有以下文件夹结构:
great_expectations/
dataset/
__init__.py
oracle_dataset.py
datasource/
__init__.py
oracle_datasource.py
great_expectations.yml
datasource/__init__.py
:
from .oracle_datasource import OracleDatasource
dataset/__init__.py
:
from .oracle_dataset import OracleDataset
great_expectations.yml
:
datasources:
db_name:
credentials: ${db_name}
data_asset_type:
class_name: OracleDataset
module_name: .dataset
class_name: OracleDatasource
module_name: .datasource
除了python相对导入让我非常困惑之外,我还不确定在运行great_expectations命令时使用了哪个引用目录。当我尝试:great_expectations suite new
时,我得到错误消息:ValueError: no package specified for '.datasource' (required for relative module names)
在尝试了下面的一切之后,yml仍然是一条路要走。我猜我对相对导入有些不了解,需要在init或其他地方处理
编辑:我也尝试过:
datasources:
db_name:
credentials: ${db_name}
data_asset_type:
class_name: OracleDataset
module_name: great_expectations.dataset
class_name: OracleDatasource
module_name: great_expectations.datasource
The module: 'great_expectations.datasource' does not contain the class: 'OracleDatasource'.
我认为这条消息意味着它正在great_expectations库中查找,我通过尝试库中包含的类名确认了这一点
这是:
datasources:
db_name:
credentials: ${db_name}
data_asset_type:
class_name: OracleDataset
module_name: dataset
class_name: OracleDatasource
module_name: datasource
No module named "datasource" could be found in the repository. Please make sure that the file, corresponding to this package and module, exists and that dynamic loading of code modules, templates, and assets is supported in your execution environment. This error is unrecoverable.
我想这意味着它正在图书馆外寻找,但找不到文件
这是:
datasources:
db_name:
credentials: ${db_name}
data_asset_type:
class_name: OracleDataset
module_name: dataset.oracle_dataset
class_name: OracleDatasource
module_name: datasource.oracle_datasource
No module named "datasource.oracle_datasource" could be found in the repository. Please make sure that the file, corresponding to this package and module, exists and that dynamic loading of code modules, templates, and assets is supported in your execution environment. This error is unrecoverable.
我想这意味着它正在图书馆外寻找,但找不到文件
要扩展远大期望,请在项目中使用
/plugins
目录(此文件夹在运行great_expectations init
时自动创建)。此处添加的模块可以在配置中引用将oracle_datasource.py和oracle_dataset.py添加到插件文件夹:
在great_expectations.yml中编辑yaml,如下所示(注意,我们处理与此文件夹相关的模块名称,因此如果新模块位于plugins文件夹的根目录,则不需要点路径):
最后一件事——我相信,如果您愿意将Oracle数据源和数据集重新添加到主软件包中,远大期望社区一定会喜欢它https://docs.greatexpectations.io/en/latest/contributing.html
相关问题 更多 >
编程相关推荐