日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

pb利用datawindow查询符合条件的数据并且过滤掉其他数据_数据质量监测

發(fā)布時(shí)間:2023/12/10 106 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pb利用datawindow查询符合条件的数据并且过滤掉其他数据_数据质量监测 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 Overview

1.1 數(shù)據(jù)質(zhì)量

在數(shù)據(jù)部門里,數(shù)據(jù)質(zhì)量問(wèn)題經(jīng)常是被動(dòng)發(fā)現(xiàn),所以數(shù)據(jù)質(zhì)量的問(wèn)題是大多數(shù)公司數(shù)據(jù)部門都不得不面對(duì)的問(wèn)題。數(shù)據(jù)質(zhì)量校驗(yàn)的目標(biāo)是監(jiān)控?cái)?shù)據(jù)管道中,生產(chǎn)者、處理階段以及消費(fèi)者的數(shù)據(jù)的正確性、一致性和及時(shí)性的一項(xiàng)系統(tǒng)工程。數(shù)據(jù)質(zhì)量需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),當(dāng)產(chǎn)生嚴(yán)重的數(shù)據(jù)污染等事件的時(shí)候需要告警和阻塞數(shù)據(jù)處理鏈路,最大限度的減少由于上下游數(shù)據(jù)質(zhì)量而產(chǎn)生的問(wèn)題。

1.2 一些術(shù)語(yǔ)

  • DQ: Data Quality
  • 強(qiáng)規(guī)則: 符合一定條件會(huì)阻塞任務(wù)的規(guī)則
  • 弱規(guī)則: 即使符合條件也不會(huì)阻塞任務(wù)
  • 閾值: 監(jiān)測(cè)的數(shù)據(jù)質(zhì)量范圍
  • 表的平均波動(dòng)率:一段時(shí)間內(nèi)每日環(huán)比的均值
  • 表的平均記錄數(shù):記錄數(shù)的每日均值
  • 表的平均報(bào)警數(shù):報(bào)警數(shù)的每日均值
  • 最近30天的最大波動(dòng)率:max(|(最近30天記錄數(shù)最大值-最近30天記錄數(shù)均值)/最近30天記錄數(shù)均值|,|(最近30天記錄數(shù)最小值-最近30天記錄數(shù)均值)/最近30天記錄數(shù)均值|)
  • 最近30天的最小波動(dòng)率: min(|(最近30天記錄數(shù)最大值-最近30天記錄數(shù)均值)/最近30天記錄數(shù)均值|,|(最近30天記錄數(shù)最小值-最近30天記錄數(shù)均值)/最近30天記錄數(shù)均值|)
  • ......(待補(bǔ)充)

    2 監(jiān)控手段

    監(jiān)控手段主要包括兩個(gè)方面,一是監(jiān),數(shù)據(jù)質(zhì)量校驗(yàn),二是控,告警和處理。

    2.1 數(shù)據(jù)質(zhì)量校驗(yàn)

    根據(jù)數(shù)據(jù)質(zhì)量校驗(yàn)的對(duì)象,可以分為兩種形式:

  • 離線檢查 - 可以指離線的對(duì)一些數(shù)據(jù)集 DataSet 進(jìn)行檢查
  • 實(shí)時(shí)檢查 - 數(shù)據(jù)處理流的檢查
  • 數(shù)據(jù)質(zhì)量監(jiān)控規(guī)則包括可以有多種形式:

  • 主鍵監(jiān)控
  • 表數(shù)據(jù)量及波動(dòng)監(jiān)控
  • 重要字段的非空監(jiān)控
  • 重要枚舉字段的離散值監(jiān)控、指標(biāo)值波動(dòng)監(jiān)控
  • 業(yè)務(wù)規(guī)則監(jiān)控
  • 根據(jù)校驗(yàn)范圍,還可以分成兩種形式:

  • 抽樣檢查 - 效率高,資源消耗不大
  • 全量檢查 - 效率低,全覆蓋,資源消耗大
  • 2.2 告警和處理

    告警和處理分為兩個(gè)階段,一是告警,當(dāng)數(shù)據(jù)質(zhì)量出現(xiàn)問(wèn)題的時(shí)候,需要及時(shí)通知責(zé)任人,二是處理,出現(xiàn)上游數(shù)據(jù)污染,根據(jù)規(guī)則級(jí)別,需要及時(shí)阻塞下游任務(wù),并處理上游任務(wù)。

    3 實(shí)現(xiàn)方案的初想

    3.1 離線檢測(cè)

    關(guān)于離線檢查,最典型的場(chǎng)景應(yīng)該有兩個(gè),一是0行檢測(cè),二是閾值檢測(cè)。

    0行檢測(cè)可以理解成一些表不應(yīng)該存在0行的情況,如果有,需要及時(shí)告警和排查原因,甚至是0行數(shù)據(jù)會(huì)影響下游任務(wù),需要考慮阻斷下游任務(wù)的繼續(xù)執(zhí)行,一方面減少下游任務(wù)異常的多余告警,二來(lái)節(jié)省下游任務(wù)執(zhí)行的資源。

    對(duì)于 Hive 來(lái)說(shuō),Hive Metastore 的查詢,利用 HiveMetaStoreClient,定時(shí)獲取各表的行數(shù),可以作為離線監(jiān)測(cè)的基礎(chǔ),又或者是利用 Hive Hook 來(lái)收集行數(shù)等信息。檢查0行是相對(duì)簡(jiǎn)單的,只要一條 sql 就可以。這個(gè)可以作為一個(gè)定時(shí)的離線任務(wù),定時(shí)執(zhí)行,甚至是作為整個(gè)任務(wù)流 DAG 中的中間表任務(wù)生產(chǎn)后自動(dòng)觸發(fā)檢查。

    select a.TBL_ID, a.TBL_NAME, b.PARAM_KEY, b.PARAM_VALUE from TBLS as a join TABLE_PARAMS as b where a.TBL_ID = b.TBL_ID and TBL_NAME="call_center" and PARAM_KEY="numRows";+--------+-------------+-----------+-------------+ | TBL_ID | TBL_NAME | PARAM_KEY | PARAM_VALUE | +--------+-------------+-----------+-------------+ | 134 | call_center | numRows | 60 | +--------+-------------+-----------+-------------+

    閾值檢查的實(shí)現(xiàn)也非常容易,如果有離線/實(shí)時(shí)計(jì)算的平臺(tái),可以提供一些類 sql 的語(yǔ)法,同樣是作為離線的定時(shí)任務(wù)來(lái)執(zhí)行檢查。當(dāng)然閾值檢查必須考慮檢查范圍的問(wèn)題,抽樣肯定要比全量更效率更高,但是全量肯定比抽樣更穩(wěn)妥,需要結(jié)合資源和業(yè)務(wù)來(lái)綜合衡量。

    -- 設(shè)置檢查范圍 set checkMode = SAMPLING; -- 閾值檢查 select a from A where a > 100;

    3.2 實(shí)時(shí)檢查

    數(shù)據(jù)采集結(jié)果數(shù)據(jù)接入之后,數(shù)據(jù)存在于 Kafka 中,如何實(shí)現(xiàn)動(dòng)態(tài)流式的數(shù)據(jù)質(zhì)量檢查呢?

    需要明確一些具體的監(jiān)測(cè)指標(biāo),比如 Kafka 消息中包含了不符合業(yè)務(wù)方定義的消息 schema,具體來(lái)看就是 key,需要告警并且在處理的時(shí)候過(guò)濾掉對(duì)應(yīng)的 key;又或者是某些 key 的 value 小于預(yù)期的閾值,該條消息也需要屏蔽,以防止數(shù)據(jù)污染(屏蔽來(lái)不要緊,因?yàn)橄⑹怯袀浞莸?#xff0c;屏蔽只會(huì)影響下游程序)。

    Flink 消費(fèi) Kafka 數(shù)據(jù)的時(shí)候,需要 FlinkKafkaConsumerxx,其中需要一個(gè)參數(shù)是針對(duì)接收到的每一條消息,key/value解序列化器,用于將字節(jié)數(shù)組形式的Kafka消息解序列化回對(duì)象,那么通過(guò)將規(guī)則實(shí)現(xiàn)在這里,并且通過(guò) filter 語(yǔ)義來(lái)過(guò)濾,是可以實(shí)現(xiàn)實(shí)時(shí)的數(shù)據(jù)質(zhì)量檢測(cè)的,一旦遇到不符合消息 schema 的 key,又或者是不符合閾值條件的 value,那么就需要對(duì)這條消息進(jìn)行處理。

    可能存在的問(wèn)題:

  • 增加來(lái)每條消息處理的成本,處理的速度和吞吐量可能會(huì)是問(wèn)題
  • Flink 版本升級(jí)的時(shí)候需要重新定制 Consumer
  • 4 一些想法

  • 有些規(guī)則,像字段閾值,表行數(shù)這些,其實(shí)也算一種元數(shù)據(jù),是否可以納入到元數(shù)據(jù)管理里面呢
  • 數(shù)據(jù)質(zhì)量平臺(tái)構(gòu)建起來(lái)繁瑣且對(duì)接上下游業(yè)務(wù)系統(tǒng)較多,為了快速落地,想先做離線檢查,從最簡(jiǎn)單的0行檢測(cè)和閾值檢測(cè)做起
  • 在數(shù)據(jù)同步過(guò)程中不進(jìn)行清洗,避免影響同步效率,在數(shù)據(jù)進(jìn)入 ODS 層之后進(jìn)行清洗
  • 為了可以進(jìn)行動(dòng)態(tài)觀察,長(zhǎng)期觀察,數(shù)據(jù)質(zhì)量平臺(tái)必須有檢測(cè)目標(biāo)和檢測(cè)結(jié)果的可視化
  • 個(gè)人覺(jué)得 sql 的表達(dá)能力應(yīng)該可以覆蓋數(shù)據(jù)質(zhì)量檢測(cè)的大部分場(chǎng)景
  • 5 參考系統(tǒng)

  • DQC(阿里云)
  • DataMan(美團(tuán))
  • Apache Griffin
  • 6 Reference

  • http://www.6aiq.com/article/1545230321843?p=1&m=0
  • https://www.ctolib.com/topics-121591.html
  • https://blog.csdn.net/zhaodedong/article/details/73385667
  • 總結(jié)

    以上是生活随笔為你收集整理的pb利用datawindow查询符合条件的数据并且过滤掉其他数据_数据质量监测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。