跳转到主要内容

为满足阿姆斯特丹市政府要求而对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.csvspark.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_pathvalidation_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

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分布

dq_suite_amsterdam-0.10.3.tar.gz (18.7 KB 查看哈希值

上传时间

构建分布

dq_suite_amsterdam-0.10.3-py3-none-any.whl (17.9 KB 查看哈希值

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面