資料監控和自動化資料測試工具beeper

2021-09-14 04:22:17 字數 2056 閱讀 3437

github:

beeper就是當年的bp機,能發出嗶嗶的聲音,也有通知、報警器的意思,這裡用來作為資料質量預警工具的別名。作為資料開發,多數情況下需要每天自動檢查資料質量是否有問題,有以下幾方面需要關注:

beeper是用python2.7開發,因為要監控大資料平台上的hive資料,需要用azkaban進行任務排程。

beeper是基於即時查詢hive實現,這就要工程師預先寫好hql並配置好預警規則。

目前beeper支援mysql, hive, presto查詢

beeper讀取jobconfs目錄下檔案,乙個配置檔案代表乙個預警任務

配置解析器對配置進行解析,清洗出hql,預警檢查規則等

資料查詢收集器將hql通過hive客戶端執行,將執行後的資料進行收集,清洗

將每條資料通過檢查器進行檢查判斷,將風險資料進行打標(郵件顯示為紅色)

構造報警郵件內容,傳送郵件

3.1beeper

由python2.7開發

beeper.job為azkaban指令碼

3.2配置檔案

使用者只需要在jobconfs目錄下按照一定格式編寫配置檔案,乙個配置檔案代表乙個檢查任務,

採用python風格,格式如下:

配置檔案示例

,

, ,]}

發出的報警郵件內容如下:

下面依次解析配置檔案內容:

欄位名是否必須

描述備註

author

否任務編寫者

可不寫title

是報警郵件標題

receivers

是郵件接收者列表

不需要填郵箱字尾,beeper會自動新增字尾

head

是郵件前置描述資訊

jobs

是查詢表配置資訊列表

每個查詢會在郵件中形成乙個**,可新增多個查詢

desc

是查詢描述

hql是

sql表示式

會替換掉裡面的日期標誌

headers

是表頭資訊,在郵件中展示

必須與hql中查詢出來的字段一一對應

percent

否需要顯示為百分比

值必須為headers中的值,百分比保留兩位小數

check

是預警檢測表示式

必須為headers中的值,關聯邏輯目前支援 and, or

source

是資料來源型別

目前只支援hive/mysql/presto; mysql格式, mysl:資料庫名

其中日期標記,beeper計算出具體日期後將其自自動替換掉,其中支援的日期型別有:

日期標記

描述示例

$today

今日日期

2017-09-08

$yesterday

昨日日期

2017-09-07

$beforeyesday

前日日期

2017-08-06

$lastweekday

今日上週同日日期

2017-08-31

$lastweekyesday

昨日上週同日日期

2017-09-30

$day_today

今日日期(天)

08$day_yesterday

昨日日期(天)

07$day_beforeyesday

前日日期(天)

06$day_lastweekday

今日上週同日日期(天)

31$day_lastweekyesday

昨日上週同日日期(天)

303.3 使用方法

2)自動化測試:將要測試的sql放在lib/autotests目錄下,執行autotest.job

自動化測試工具

二 如何實施自動化測試 自動化測試指軟體測試的自動化,在預設狀態下執行應用程式或者系統預設條件包括正常和異常,最後評估執行結果。將人為驅動的測試行為轉化為機器執行的過程。自動化測試框架一般可以分為兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的專案中,它體現重要的作用,它可以管理...

自動化測試工具monkey

monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性的快速有效的方法。a 測試的物件僅為應用程式包,有一定的侷限...

自動化測試工具分析

目前在國內使用的最多的自動化測試工具就是qtp,以至於許多人錯誤的理解為自動化測試就是使用qtp進行一下錄製,然後就是自動化測試了,這種理解是有偏差的。qtp 是hp公司開發的乙個款自動化測試工具,名氣很大,但是售價也非常昂貴,國內有一些牛人破解了qtp,進行使用,但是大公司一般不會採用這種方式,要...