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,進行使用,但是大公司一般不會採用這種方式,要...