91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

大數據開發中表數據波動和碼值分布波動監控方法是什么

發布時間:2021-12-31 14:47:52 來源:億速云 閱讀:149 作者:iii 欄目:大數據

本篇內容介紹了“大數據開發中表數據波動和碼值分布波動監控方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

設計摘要:

任務執行、監控和報警從設計上是可以完全分開的,分開可以讓任務執行盡可能只做任務執行的事情,監控可以根據多種監控規則來進行數據統計,數據分布,而報警則專注于如何根據監控的結果進行自定義靈活地報警。其中在設計上可以以監控為主體,任務執行和報警可以依據需求來定制,從而更好滿足各方需求。 監控規則的設計,暫時從以下幾個方面入手,數據分區的生成數據分區的數據量數據分區的數據量波動表數據字段的碼值分布波動。監控的主要職責是跑數,跑出報警需要的數據,而報警,可以根據監控的輸出數據以及監控配置進行生成done文件或者undone 和 報警。

done目錄和原表目錄類似 表/版本/分區或日期/done/a.done or b.done or c.done (根據配置的根目錄 + 表路徑的后半部分來生成)

1.表數據監控

監控什么?要達到什么目的?

監控主要有兩個目的,一個是報警,另外一個是攔截,攔截為了發生問題時不繼續往下走,所以一般配置有攔截必有報警,有報警不一定有攔截,比如延時報警。

1.1 輸入什么

一個調度平臺的調度時間,以天為單位,最后體現在跑批日志的分區字段上,可以支持回溯,其他監控需要的配置信息都在表數據監控的主表里面,一些特別的配置信息,會用到附屬表,比如分布子表。

1.2 計算模型

1.2.1分區有沒有生成 show partitions | grep xx

1.2.2分區數量大于某個閾值,默認0:select count(*) from db_table where {db_table_date_column} = f($input_date) and version=20201205

1.2.3 分區數量波動:(分區數量的count - 前幾天的count平均值) / 前幾天的count平均值

1.2.4 數據碼值分布波動監控

如何衡量數據分布波動

假設某指標碼值和數據分布如下:

2020-12-052020-12-062020-12-07
a 10%a 9%a 1%
b 50%b 51%b 90%
c 40%c 40%c 9%

可以看到在12.07日,波動較大,需要做預警,問如何衡量這個波動,以及設置預警

把a,b,c看成一個向量,求比如最近一周(不包括當天)的向量平均值

$$ a1,b1,c1 $$

,然后計算當前向量

$$ a0,b0,b1 - a1,b1,c1 / (a1,b1,c1) = a3,b3,c3 $$

數據分布波動計算模型

key 當天向量

$$ a=(x,y,z...) $$

$$ b=(x1,y1,z1....) $$

那么波動向量

$$ c=(a-b)/a $$

,最終結果

$$ c=(x2,y2,z2...) $$

2.報警設計

報警任務的每次啟動可以依賴當天分區數據監控的日志跑批分區,即至少有跑批日志,才開始進行報警任務。報警的輸入是監控主表和監控跑批表,輸出done,undone && 報警,于報警日志中。

3. 整體設計

大數據開發中表數據波動和碼值分布波動監控方法是什么

使用平臺例行任務來調度監控任務,使用mysql開發環境來讀配置,使用gp來存儲結果數據,使用平臺同步功能將同結構的hive結果表同步到gp來做報表展示,整個過程支持回溯。

表數據監控配置表

-- 總表
create table table_monitor_conf (
    db_table string, 
  table_charge_people string comment '表負責人',
  done_path string comment 'done 文件輸出位置前綴',
  where_condition string comment 'where 子句內容 eg:version=20201201 and dt=#YYYYMMdd#',
  if_done string comment '總開關:是否生成done文件'
  if_check_partition string  comment '規則1:是否監控產出分區',
  if_check_partition_count string  comment '規則2:是否監控產出分區數據量',
  if_check_partition_count_fluctuates string comment '規則3:是否監控產出分區數據量波動',
  if_check_distribute string comment '規則4:是否監控產出表數據分布波動'
)
-- 分布子表if_check_distribute 為1時候使用
create table table_monitor_distribute_conf (
  db_table string comment '表名',
  with_code_value_keys string comment '有碼值的keys:k1,k2,k3',
  no_code_value_keys string comment '無碼值的keys:k1,k2,k3'
)

其中當table_monitor_conf 的 db_table = 'default.default' 時候表示是所有配置記錄的默認值。

表數據量監控跑批記錄

create table table_monitor_records (
  run_db_table  string  comment '跑批表,來源table_monitor_conf 的db_table',
  check_date_time string comment '任務實際跑批時間-程序生成',
  run_check_partition string comment '規則1產出:根據where_condition 是否產出分區'
  run_check_partition_count bigint comment '規則2產出:根據where_condition 跑出來的表數量',
  run_check_partition_count_fluctuates string comment '規則3產出:表數據量相對一周前平均值的數據波動',
  run_check_distribute_json comment '規則4產出:數據分布的大json',
  run_check_distribute_fluctuates comment '規則4產出:數據分布的大json相對一周平均值的波動大json'
) partition by (dt string comment '數據跑批分區,平臺傳入')
comment '監控跑批記錄表'

報警配置表

create table table_monitor_notify_conf(
  db_table string comment '庫表',
  notify_enable string comment '是否開啟此報警',
  normal_produce_datetime string comment '表數據正常產生時間',
  check_count_threshold bigint  comment '監控產出分區數據量的閾值',
  check_count_fluctuates_threshold double comment '監控產出分區數據量波動的閾值' ,
  check_distribute__json_threshold double comment '表數據分布閾值'
)

報警日志表

create table table_monitor_notify_records(
    db_table string comment '哪個表有問題',
    view_url string comment '頁面展示地址',
    table_charge_people string comment '表負責人',
    trouble_description string comment '有什么問題',
    check_date_time string comment '報警時間-程序生成',
) patition by (dt string comment '數據跑批分區,平臺傳入')

寫出數據,done 文件 ,undone文件 每個表,每個分區只有一個

數據分布,在分布波動的第一次跑數據時候,就會寫一份

總共有幾個任務:監控任務,報警任務各1個,每天1點->晚上8點,10分鐘一次

其他:

hi_email_message_phone string comment '報警方式,保留字段'

zhiban_people string comment '值班負責人,保留字段',

TODO:

  • [ ] 增加值班人,報警方式升級、

  • [ ] 根據依賴來報警

  • [ ] 通過群內機器人,來操作報警日志表,達到報警暫停一段時間的作用 大數據開發。

“大數據開發中表數據波動和碼值分布波動監控方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长丰县| 保定市| 北碚区| 沧源| 闵行区| 平顶山市| 弥勒县| 合江县| 封丘县| 鄢陵县| 三都| 堆龙德庆县| 永寿县| 巩义市| 武邑县| 黄梅县| 渝中区| 集贤县| 金乡县| 哈密市| 佛学| 丽水市| 建阳市| 宜章县| 巴中市| 抚顺县| 育儿| 罗城| 贞丰县| 文山县| 溆浦县| 合肥市| 三原县| 淮滨县| 通化市| 康乐县| 德州市| 裕民县| 唐河县| 正宁县| 嘉荫县|