• 数据比对总结


    1. 数据量比对;
    2. 数据内容比对;
    3. 不同维度上比对, 查看维度因素;

    一、 数据量比对

    1. -- 总数据量比对
    2. select
    3. aa.cnt as pre_cnt
    4. ,bb.cnt as pro_cnt
    5. ,( aa.cnt - bb.cnt ) as err
    6. ,( aa.cnt - bb.cn t)*1.000/bb.cnt as err_ratio
    7. from ( -- 测试数据
    8. select
    9. '1' as id
    10. ,count(1) as cnt
    11. from
    12. ${tbl_name_1}
    13. where
    14. dt = '20230730'
    15. ) aa
    16. join ( -- 生产数据
    17. select
    18. '1' as id
    19. ,count(1) as cnt
    20. from
    21. ${tbl_name_2}
    22. where
    23. dt = '20230730'
    24. ) bb
    25. on aa.id = bb.id
    26. ;
    27. -- 单维度比对数据量
    28. select
    29. aa.cnt pro_cnt
    30. ,bb.cnt pre_cnt
    31. ,(aa.cnt - bb.cnt) as err_cnt
    32. ,(aa.cnt - bb.cnt)*1.00/aa.cnt as err_ratio
    33. from (
    34. select
    35. app_id
    36. ,count(1) as cnt
    37. from
    38. tbl_pro
    39. where
    40. dt = '20231010'
    41. group by
    42. app_id
    43. ) aa
    44. full join (
    45. select
    46. app_id
    47. ,count(1) as cnt
    48. from
    49. tbl_pro
    50. where
    51. dt = '20231010'
    52. group by
    53. app_id
    54. ) bb
    55. on aa.app_id = bb.app_id
    56. ;

    二、数据内容比对

    1. -- 内容比对
    2. with tmp as (
    3. select
    4. aa
    5. ,bb
    6. from
    7. ${tbl_name_1}
    8. where
    9. dt = '20231017'
    10. except
    11. select
    12. aa
    13. ,bb
    14. from
    15. ${tbl_name_2}
    16. where
    17. dt = '20231017'
    18. )
    19. select
    20. *
    21. from
    22. tmp
    23. ;

    三、指标比对

    1. -- 比对指标总和
    2. select
    3. aa.cnt pro_cnt
    4. ,bb.cnt pre_cnt
    5. ,(aa.cnt - bb.cnt) as err_cnt
    6. ,(aa.cnt - bb.cnt)*1.00/aa.cnt as err_ratio
    7. from (
    8. select
    9. 'id' as id
    10. ,sum(active_num) as cnt
    11. from
    12. pro_tbl
    13. where
    14. dt = '20231010'
    15. ) aa
    16. join (
    17. select
    18. 'id' as id
    19. ,sum(active_num) as cnt
    20. from
    21. pre_tbl
    22. where
    23. dt = '20231010'
    24. ) bb
    25. on aa.id = bb.id
    26. ;
    27. -- 某些维度上指标和比对
    28. select
    29. aa.app_id
    30. ,aa.cnt as cnt_pro
    31. ,bb.cnt as cnt_pre
    32. ,(aa.cnt - bb.cnt) as err_cnt
    33. ,(aa.cnt - bb.cnt)*1.000/aa.cnt as error
    34. from (
    35. select
    36. app_id
    37. ,sum(active_num) as cnt
    38. from
    39. pro_tbl
    40. where
    41. dt = '20231010'
    42. group by
    43. app_id
    44. ) aa
    45. full join (
    46. select
    47. app_id
    48. ,sum(active_num) as cnt
    49. from
    50. pre_tbl
    51. where
    52. dt = '20231010'
    53. group by
    54. app_id
    55. ) bb
    56. on aa.app_id = bb.app_id
    57. order by aa.cnt desc
    58. ;

    二十、差异分析

    1. 随机函数

    first、last函数会随机取维度值, 造成这些维度指标不完全一样, 可验证其它维度上指标是否一致.

    2. join异常

    表的join操作-CSDN博客

    3. 增加过滤后数据变多

    过滤掉了无效数据, 保留下了更过的有效数据;

    比如pkgs数组字段有大量空值,row_number方式排序去重(rnk=1)前没有过滤pkgs为空的数据,这样获取了许多pkgs为空的数据,导致展开数组时会丢失有效数据.

  • 相关阅读:
    HarmonyOS学习路之方舟开发框架—学习ArkTS语言(渲染控制 一)
    机器学习实训(4)——支持向量机(补充)
    七、文件包含漏洞
    实验一 Linux基本操作
    MySQL的字符集设置
    新中国70年:银行业的五个发展阶段
    vue通过一组id匹配另一个数组中的对象
    JAVA泛型
    R语言ggplot2可视化:使用ggpubr包的ggbarplot函数可视化柱状图、使用label.pos参数在柱状图上方添加柱状图大小的数值标签
    SimSiam:Exploring Simple Siamese Representation Learning
  • 原文地址:https://blog.csdn.net/weixin_40829577/article/details/133778308