为满足阿姆斯特丹市政府要求而对Great Expectations进行封装的工具。
项目描述
简介
此存储库包含一些函数,可简化Great Expectations的使用。用户可以输入数据和数据质量规则,并获得相应的结果。
免责声明:该软件包处于MVP阶段
入门指南
在您的计算环境中安装dq套件,例如,通过在您的工区运行以下代码
pip install dq-suite-amsterdam
验证您的第一个表格
- 将
dq_rule_json_path
定义为指向JSON文件的路径,类似于本存储库中dq_rules_example.json所示的路径 - 将
table_name
定义为需要数据质量检查的表名称。此名称也应出现在JSON文件中 - 将需要数据质量检查的表加载到PySpark dataframe
df
(例如,通过spark.read.csv
或spark.read.table
)
import dq_suite
validation_settings_obj = dq_suite.ValidationSettings(spark_session=spark,
catalog_name="dpxx_dev",
table_name=table_name,
check_name="name_of_check_goes_here")
dq_suite.run(json_path=dq_rule_json_path, df=df, validation_settings_obj=validation_settings_obj)
在多个data frame上循环可能需要重新定义json_path
和validation_settings
变量。
请参阅ValidationSettings
的文档,了解初始化时可以传递哪些其他参数(例如,用于通知的Slack或MS Teams webhooks、存储GX的位置等)。
创建数据质量架构和表(在数据团队的相关目录中)
在运行第一个dq检查之前,从存储库路径:scripts/data_quality_tables.sql中的notebook创建数据质量架构和表
- 打开notebook,连接到集群。
- 选择数据团队目录并执行notebook。如果它们尚不存在,它将创建架构和表。
从Unity Catalog导出架构到输入表
要输出Unity Catalog中的架构,请使用以下命令(使用所需的架构名称)
schema_output = dq_suite.schema_to_json_string('schema_name', spark)
print(schema_output)
将字符串复制到输入表以快速将架构导入Excel。
验证表的架构
可以一次性将整个表的架构验证到阿姆斯特丹架构定义中。这是通过在描述表时向“dq_rules”JSON中添加两个字段来完成的(参见:https://github.com/Amsterdam/dq-suite-amsterdam/blob/main/dq_rules_example.json)。
需要
- validate_table_schema:从阿姆斯特丹模式中验证表格的id字段
- validate_table_schema_url:来自阿姆斯特丹模式的表格或数据集的url
模式定义在运行时转换为列级期望(expect_column_values_to_be_of_type)。
已知异常
-
这些函数可以在Databricks上通过个人计算集群或作业集群运行。使用共享计算集群将导致错误,因为它没有Great Expectations所需的权限。
-
由于此项目需要Python >= 3.10,因此需要Databricks Runtime (DBR) >= 13.3(点击)。旧版本的DBR将在安装
dq-suite-amsterdam
库时导致错误。 -
截至撰写时间(2024年8月底),Great Expectations v1.0.0刚刚发布,并且目前与Python 3.12不兼容。因此,请确保您为项目使用正确的Python版本作为解释器。
为此库做出贡献
请参阅单独的开发人员readme。
更新
版本0.1:运行dataframe的DQ检查
版本0.2:运行多个dataframe的DQ检查
版本0.3:重构I/O
版本0.4:按表格添加Amsterdam Schema的架构验证
版本0.5:从Unity Catalog导出架构
版本0.6:结果写入"dataquality"模式中的表格
版本0.7:重构解决方案
版本0.8:实现输出历史化
版本0.9:添加数据集描述
版本0.10:切换到GX 1.0
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。