欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

大數(shù)據(jù)開發(fā)中表數(shù)據(jù)波動和碼值分布波動監(jiān)控方法是什么

本篇內(nèi)容介紹了“大數(shù)據(jù)開發(fā)中表數(shù)據(jù)波動和碼值分布波動監(jiān)控方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元三江侗做網(wǎng)站,已為上家服務(wù),為三江侗各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

設(shè)計摘要:

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

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

1.表數(shù)據(jù)監(jiān)控

監(jiān)控什么?要達到什么目的?

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

1.1 輸入什么

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

1.2 計算模型

1.2.1分區(qū)有沒有生成 show partitions | grep xx

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

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

1.2.4 數(shù)據(jù)碼值分布波動監(jiān)控

如何衡量數(shù)據(jù)分布波動

假設(shè)某指標(biāo)碼值和數(shù)據(jù)分布如下:

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日,波動較大,需要做預(yù)警,問如何衡量這個波動,以及設(shè)置預(yù)警

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

$$ a1,b1,c1 $$

,然后計算當(dāng)前向量

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

數(shù)據(jù)分布波動計算模型

key 當(dāng)天向量

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

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

那么波動向量

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

,最終結(jié)果

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

2.報警設(shè)計

報警任務(wù)的每次啟動可以依賴當(dāng)天分區(qū)數(shù)據(jù)監(jiān)控的日志跑批分區(qū),即至少有跑批日志,才開始進行報警任務(wù)。報警的輸入是監(jiān)控主表和監(jiān)控跑批表,輸出done,undone && 報警,于報警日志中。

3. 整體設(shè)計

大數(shù)據(jù)開發(fā)中表數(shù)據(jù)波動和碼值分布波動監(jiān)控方法是什么

使用平臺例行任務(wù)來調(diào)度監(jiān)控任務(wù),使用MySQL開發(fā)環(huán)境來讀配置,使用gp來存儲結(jié)果數(shù)據(jù),使用平臺同步功能將同結(jié)構(gòu)的hive結(jié)果表同步到gp來做報表展示,整個過程支持回溯。

表數(shù)據(jù)監(jiān)控配置表

-- 總表
create table table_monitor_conf (
    db_table string, 
  table_charge_people string comment '表負(fù)責(zé)人',
  done_path string comment 'done 文件輸出位置前綴',
  where_condition string comment 'where 子句內(nèi)容 eg:version=20201201 and dt=#YYYYMMdd#',
  if_done string comment '總開關(guān):是否生成done文件'
  if_check_partition string  comment '規(guī)則1:是否監(jiān)控產(chǎn)出分區(qū)',
  if_check_partition_count string  comment '規(guī)則2:是否監(jiān)控產(chǎn)出分區(qū)數(shù)據(jù)量',
  if_check_partition_count_fluctuates string comment '規(guī)則3:是否監(jiān)控產(chǎn)出分區(qū)數(shù)據(jù)量波動',
  if_check_distribute string comment '規(guī)則4:是否監(jiān)控產(chǎn)出表數(shù)據(jù)分布波動'
)
-- 分布子表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'
)

其中當(dāng)table_monitor_conf 的 db_table = 'default.default' 時候表示是所有配置記錄的默認(rèn)值。

表數(shù)據(jù)量監(jiān)控跑批記錄

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

報警配置表

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

報警日志表

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

寫出數(shù)據(jù),done 文件 ,undone文件 每個表,每個分區(qū)只有一個

數(shù)據(jù)分布,在分布波動的第一次跑數(shù)據(jù)時候,就會寫一份

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

其他:

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

zhiban_people string comment '值班負(fù)責(zé)人,保留字段',

TODO:

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

  • [ ] 根據(jù)依賴來報警

  • [ ] 通過群內(nèi)機器人,來操作報警日志表,達到報警暫停一段時間的作用 大數(shù)據(jù)開發(fā)。

“大數(shù)據(jù)開發(fā)中表數(shù)據(jù)波動和碼值分布波動監(jiān)控方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)頁題目:大數(shù)據(jù)開發(fā)中表數(shù)據(jù)波動和碼值分布波動監(jiān)控方法是什么
當(dāng)前網(wǎng)址:http://www.chinadenli.net/article8/jiijip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司Google關(guān)鍵詞優(yōu)化標(biāo)簽優(yōu)化搜索引擎優(yōu)化移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營