为了账号安全,请及时绑定邮箱和手机立即绑定

Snowflake数据度量函数在数据质量验证中的应用技巧

谢谢大家阅读我之前的博客!这篇博客是“数据质量”和“数据治理”系列中的另一篇。请参考我之前关于理解数据度量函数的博客——https://poojakelgaonkar.medium.com/understanding-snowflakes-data-metric-functions-f9b218f378f7

这个博客主要介绍如何了解并运用系统定义的数据质量功能(DMFs),以验证数据的质量。有许多内置的功能,可以确保数据的准确性、新鲜度,生成统计信息,反映唯一性,以及计算数据规模。这些指标用于验证数据质量,确保数据的准确性。

  1. 验证数据的唯一性:如你所知,数据一致性在数据和分析领域中起着至关重要的作用。数据工程管道被设计用来避免任何重复的数据处理以及在目标端的数据重复。Snowflake提供了系统DMFs,如 _DUPLICATE_COUNT 和 UNIQUECOUNT,来验证数据的唯一性。SNOWFLAKE.CORE.DUPLICATE_COUNT 是用于验证给定字段中重复记录的函数。你可以这样使用它们:
-- 计算customer_info表中customer_id的重复数量
SELECT SNOWFLAKE.CORE.DUPLICATE_COUNT(customer_id) FROM customer_info;

此功能也会考虑 NULL 值和字段值。这可以在 DATE、VARCHAR、FLOAT、NUMBER 和 TIMESTAMP 列上实现。

UNIQUE_COUNT也可用于相同的数据类型,就像DUPLICATE_COUNT一样。这可以统计字段中唯一值的数量。

    SELECT SNOWFLAKE.CORE.UNIQUE_COUNT(zip_cd) from customer_info; -- 从customer_info中选择每个邮政编码的数量(去重)

ROW_COUNT 也可以用于获取表中的总行数。这可以用来检查关键数据字段或来源是否存在数据异常。如果行数与预期范围有巨大差异,这可以触发一个数据异常警报。这些检查可以设置为定期执行。

ALTER TABLE sales.sales_history 设置  
DATA_METRIC_SCHEDULE = 'CRON 0 8 * * * UTC';  
/* 每天早上8点运行以验证数据 */
  1. _数据过时_是数据处理和数据世界中的另一个挑战。有时数据处理会延迟,导致无法满足服务级别协议(SLA)的要求。我们还可能遇到将过时数据报告给最终用户和报表的问题。确保数据在被用于分析报告和应用程序之前是新鲜的这一点非常重要。Snowflake 的内置函数 UNIQUENESS 可以用来判断数据是否足够新鲜,供用户使用。此函数返回一个布尔值,用于验证数据新鲜度的质量检查。因为此函数评估的是数据的新鲜度,所以它只能与 DATE 和 TIMESTAMP 列一起使用。

选择SNOWFLAKE.CORE.FRESHNESS函数返回的结果是否小于300,该函数用于检查sales.sales_history表中的sale_ts字段的最新数据是否在300单位时间之内。

    SELECT SNOWFLAKE.CORE.FRESHNESS(  
      SELECT  
        sale_ts  
      FROM sales.sales_history  
    ) < 300;

请注意,上述SQL语句执行了上述描述的检查。

这条 SQL 语句检查销售采购数据是否在实时更新时延迟不超过 5 分钟。

3. 为了确保 数据准确性,Snowflake 提供了多种函数——NULL_COUNT(空值计数)、BLANK_COUNT(空白计数)、BLANK_PERCENT(空白百分比)和 NULL_PERCENT(空值百分比)。你可以使用这些函数来验证主字段,以及那些不能为空或为空白的字段。你可以使用这些函数来验证数据质量,确保数据完整。

4. Snowflake 提供了一组函数来生成数据的统计,使用系统定义的 DMFs —— AVG、MIN、MAX 和 STDDEV。这些函数可以用来验证数据是否符合预期范围,并评估数据质量。这些函数可以与业务规则结合使用,设置数据质量规则来评估数据质量。我们将在接下来的博客中详细介绍数据质量框架的设计

您还可以使用如下的 SHOW 命令查看您 Snowflake 账户中存在的 DMF 列表。

    展示账户中的数据指标相关的函数。

这是系列中的第二篇博客文章,在接下来的文章中你将学习如何创建自定义DMFs并在数据验证中使用它们。请订阅我的博客系列,以获取更多关于Snowflake、Gen AI和数据域应用场景的最新特性和应用场景的信息。不要错过哦。

关于我:

我是Snowflake 2023和2024年的数据超级英雄之一。我是一名DWBI和云架构师。目前我在GCP及Snowflake担任高级数据架构师。我曾与各种遗留数据仓库及相关数据实施项目及云平台迁移项目合作。我同时拥有SnowPro核心认证的数据架构师和谷歌认证的谷歌专业云架构师资格。如果您需要关于认证、数据解决方案和实施项目方面的帮助,可以通过LinkedIn联系我获取帮助!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消