2023年已過半,袋鼠雲開發團隊和產品團隊對[數棧產品](https://www.dtstack.com/dtinsight?src=szsm=05)本身以及客戶反饋的問題和痛點進行了持續性的更新和優化,包括對 [EasyMR 監控告警](https://www.dtstack.com/dtengi ...
2023年已過半,袋鼠雲開發團隊和產品團隊對數棧產品本身以及客戶反饋的問題和痛點進行了持續性的更新和優化,包括對 EasyMR 監控告警功能的更新,以及對離線開發平臺表生命周期邏輯的優化等,力求滿足不同行業用戶的更多需求,為用戶帶來極致的產品使用體驗。
以下為袋鼠雲產品功能更新報告06期內容,更多探索,請繼續閱讀。
EasyMR
新增功能更新
背景:因為環境或者代碼 bug 導致單個進程影響整個平臺使用,目前是手動重啟服務解決問題,時效性低、成本相對較高。
新增功能說明:EasyMR 新增 CGroup 進程管控功能,對 linux 的一組進程包括 CPU、記憶體、磁碟 IO、網路等在內的資源使用進行限制、管理和隔離。
2.Hadoop Admin 用戶啟動
背景:Hadoop3 版本使用 admin(普通)用戶(sudo 許可權)主機接入,無法使用普通用戶啟動服務。
新增功能說明:Hadoop3 版本支持利用 admin(普通)用戶(sudo 許可權)主機接入,支持使用普通用戶啟動服務。
3.業務資料庫適配 TDSQL
背景:某客戶要求全數棧產品對接客戶 TDSQL。
新增功能說明:EasyMR 安裝腳本支持配置外部數據源。
cd em-release-4.6.1-beta
//執行install.sh進行部署
$./install.sh 部署機器的ip
執行./install.sh後選擇功能菜單中的升級功能,輸入數字1:
4.儀錶盤升級更新
背景:EasyMR 更新時,儀錶盤會跟隨 EasyMR 產品包一起部署。客戶老版本的儀錶盤可能存在變更情況,需要對客戶老版本的儀錶盤進行保留,同時更新上傳新增儀錶盤。
新增功能說明:EasyMR 升級時,儀錶盤會跟隨 EasyMR 產品包一起部署:
• EasyMR 升級時覆蓋老版本儀錶盤,保留客戶自建儀錶盤
• 備份歷史儀錶盤到本地環境
5.【監控告警】告警頻率
背景:當前告警信息一天只發送一次,很容易被忽略掉,對於比較嚴重的告警已經影響到客戶的業務使用,需要多次提醒儘快處理。
新增功能說明:三級告警間隔設置,告警首次觸發之後根據告警等級觸發告警間隔,告警間隔為:
• 嚴重告警:5分鐘
• 一般告警:6小時
•提示告警:24小時
6.自定義 logo
背景:EasyMR 分商業版、開源版,不同版本的 logo 不同,同時存在客戶自定義 logo 的需求,因此需要支持 logo 自定義配置。
新增功能說明:通過配置文件支持自定義 logo 及文案,logo 文案配置步驟如下:
• 上傳新 logo 到“/data/easymanager/dtstack-runtime/images/”目錄下;
• 修改 docker-compose.yml 配置文件中 PRODUCTNAME、volumes 參數,示例:
7.健康檢查異常服務重啟
背景:服務多次健康檢查異常時,服務基本處於不可用狀態,需要支持多次異常服務重啟服務保證服務的可用性。
新增功能說明:支持通過產品包 Schema 配置健康檢查的頻次、是否重啟。
8.EasyMR 服務高可用
背景:EasyMR 存在單點故障、低性能和容量瓶頸等問題,為了保障服務的可靠性和穩定性,降低平臺服務中斷風險,需要平臺進行高可用改造。
新增功能說明:對EasyMR 自身服務進行高可用改造,監控組件暫不支持高可用。
9.NTP 服務自動重啟
背景:NTP 作為一種用於同步電腦系統時間的網路協議,服務可能會出現故障或異常,導致系統時間不准確,進而影響到數據的一致性和分析結果的準確性。
新增功能說明:對 NTP 服務添加服務監控,服務down機後自動重啟 NTP 服務,以提升服務的可用性和穩定性,保障系統時間的準確性,降低人工干預成本。
10.MySQL數據自動備份
背景:在 EasyMR 中 MySQL 資料庫扮演著關鍵的角色,用於存儲和管理平臺服務數據及監控告警信息。傳統情況下,MySQL 數據的備份通常需要人工介入進行操作,人工備份容易出現疏忽導致備份遺漏或不完整,備份過程中對系統產生較大的負載,並且人工備份需要耗費大量時間和資源。
新增功能說明:通過腳本設置定時任務來實現 MySQL 數據的自動備份到指定伺服器,實現數據異地備份。
11.Dashboard 支持分集群監控
背景:Dashboard 儀錶盤僅支持按主機節點篩選查看,無法按集群分類監控,影響運維人員對集群級別的監控運維。
新增功能說明:增加集群下拉選擇框,支持按集群級別進行監控。
12.HDFS 數據均衡
背景:隨著數據量的增長和頻繁的數據寫入、刪除操作,HDFS 上的數據可能會出現分佈不均的情況,即某些節點上的數據負載較大,而其他節點上的數據負載較輕,當 HDFS 上的數據分佈不均時,會導致部分節點資源過度利用,造成性能瓶頸,降低數據讀寫速度和查詢效率。同時,還會導致資源浪費,一些節點的存儲容量得不到充分利用,影響整個大數據管理平臺的性能和可用性。
新增功能說明:HDFS-Datanode 服務,操作中新增「數據均衡」功能:
• Bandwidth:數據均衡帶寬,預設值 5(MB/s)
• Balancer Threshold:數據均衡平衡度閾值,通過設置合適的 HDFS Balancer Threshold,可以避免過於頻繁觸發數據均衡操作,從而降低對集群性能和網路帶寬的影響,同時,還能夠確保集群中的數據分佈保持在一個相對平衡的狀態,提高整體性能和資源利用率
功能優化
1.Ldap 配置頁提示
背景:Ldap 配置參數規則複雜,非專業人士很難理解 Ldap 配置參數含義及配置規則。
體驗優化說明:新增 Ldap 配置頁參數提示:
• 新增配置頁參數「管理員賬號」、「baseDN」、「用戶過濾」、「用戶組過濾」預設規則
• 新增參數「baseDN」、「用戶過濾」、「用戶組過濾」hover註釋
2.服務配置註釋
背景:由於服務配置參數較多,僅通過參數名稱很難確定參數含義,因此需要對參數進行中文註釋同時對參數使用進行說明。
體驗優化說明:
• 支持參數名+參數註釋模糊搜索
• 配置參數在 Schema 中維護參數的中文名稱
• 新增「操作」按鈕,原「重置」、「添加參數」、「配置下發」、「滾動重啟」功能統一放到「操作」按鈕下,原功能邏輯不變
• Schema 中維護參數的使用說明註釋
3.分級告警
背景:EasyMR 支持分級告警,Grafana 現版本5.1.3 存在諸多漏洞問題,需要進行版本升級。
體驗優化說明:Grafana 現版本5.1.3 升級到新版本 Grafana 8.5.15,支持三級告警「嚴重告警、次要告警、提示告警」:
• 嚴重告警:告警規則對應資源發生緊急故障,影響業務視為緊急告警
• 次要告警:告警規則對應資源存在相對不太嚴重點問題,此問題不會阻礙資源的正常使用
• 提示告警:告警規則對應資源存在潛在的錯誤可能影響到業務
4.配置參數加密
背景:配置參數中例如 password、user 信息需要進行加密展示,但經常出現參數為 xxx_pass 也需要進行加密,目前由後端進行參數關鍵詞匹配再對值進行加密,特殊需求適配性不好。
體驗優化說明:產品打包時,在 Schema 中標記參數是否為敏感參數,由後端進行參數值加密顯示。
離線開發平臺
新增功能更新
1.數據源
背景:目前在數據源頁面中查看 meta 數據源的 schema,只能在 jdbc url 中查看,對於用戶來說不方便。
新增功能說明:數據源頁面展示當前項目的schema名稱,以及能做meta schema的快捷查找,新增 meta schema 的篩選項,並將 meta schema 作為單獨的欄位進行展示。
2.【數據開發】Hive SQL
• Hive SQL 支持語法提示、表聯想:
在 SQL 編寫時,離線 IDE 支持表名、欄位名、關鍵字、函數名等內容的語法提示
• Hive SQL 運行日誌支持實時列印、展示任務運行進度、支持任務停止:
Hive SQL 執行臨時運行時,展示執行進度並實時列印日誌,日誌包含執行的 map、reduce 的情況,任務運行過程中,支持停止運行
3.資源支持版本管理
資源版本支持記錄資源最近的十個版本,支持對版本資源進行「回滾至此版本」「下載」「刪除」操作。
4.【數據同步任務】欄位變化
當數據同步任務的欄位發生變化時,可通知欄位的變化及影響的任務信息。
數據同步中新增元數據校驗高級參數“metadataCheck”,當值為“true”時,對於數據同步任務的臨時運行/周期實例運行/補數據實例運行/手動實例運行前檢查源表或目標表的表結構是否發生變更(欄位增加、欄位減少、欄位類型變更),如果有變更則實例狀態變為提交失敗,並會在日誌中列印變更內容。
如果任務配置了告警規則,且觸發條件是“失敗”時,則會在告警中列印失敗原因和欄位變動情況。
5.支持給任務打標簽
背景:客戶期望可以給任務打標簽,比如給部分任務打上“合同”的標簽,給部分任務打上“客商”的標簽,可以按標簽去執行運維操作,例如:補數據、告警。
新增功能說明:在數據開發頁面,支持創建標簽和給任務指定標簽,併在運維中心進行補數據和告警配置操作時,支持以標簽為維度進行任務配置。
6.離線支持代碼檢查規則
• 在「數據資產->數據治理」中可以開啟或新增代碼檢查規則
• 在「離線開發->項目管理->操作設置」中支持開啟代碼規則和選擇生效範圍,目前僅支持創建 Hive SQL、Spark SQL、Impala SQL、Inceptor SQL 四種任務的代碼檢查規則
• 開啟規則後,在 IDE 界面中可以手動進行 SQL 規範性檢查,在日誌中列印檢查結果,任務運行和提交時也會進行 SQL 規範性檢查
7.任務保存支持版本管理
• 增加保存版本的版本記錄,記錄未提交僅保存的內容
• 在發生異常/系統自動登出時會自動保存,併在用戶重新登錄時進行提示
8.任務目錄支持自定義排序
在「項目管理->操作設置」中支持開啟自定義目錄排序,可以自由拖動任務、臨時查詢、資源、函數、組件、標簽和文件夾改變目標結構;關閉自定義目錄排序後,任務和文件夾按預設方式排序(名稱首字母排序),禁止自由拖動。
9.在 guardian 進行許可權校驗
Inceptor SQL 運行時支持用數棧賬號綁定的 Idap 賬號進行任務提交的用戶認證,併在 guardian 進行許可權校驗。
用戶使用數棧賬號登錄,UIC 綁定 Idap 賬號,由 tdh 自己的 guardian(類似 ranger)實現許可權策略的配置,數棧關閉 web 層許可權管控,所有的許可權判斷經過 guardian 策略,使用 Idap 賬號登錄 guardian 提交任務。在如圖所示位置配置 guadian 的代理地址。
10.數據同步
• TiDB、GaussDB、GreenPlum 作為數據源的數據同步任務配置時支持選擇 Schema
• MySQL 同步 Sharding-Proxy 插件支持嚮導模式讀取
• 數據同步支持 OceanBase 讀取和寫入
11.HashData 數據同步讀寫
HashData 支持作為數據同步的源端和目標端,支持源端時支持自定義 SQL、數據過濾、切分鍵填寫(併發讀寫)、斷點續傳、增量同步;作為目標端時支持導入前準備語句、導入後準備語句、一鍵生成目標表、主鍵衝突時支持 insert 和 update。
支持作為整庫同步的目標端和源端。
12.StarRocks 數據同步讀寫
StarRocks 支持作為數據同步的源端和目標端。作為源端時支持自定義 SQL、不支持數據過濾、不支持切分鍵填寫(StarRocks flinkx 是用 streamload 同步的,不需要指定切分鍵,只要指定併發數,SQL 的執行計劃里就會按對應的併發自己拆分出來多通道同步)、不支持斷點續傳、不支持增量同步。
作為目標端時不支持導入前準備語句、不支持導入後準備語句、支持一鍵生成目標表、主鍵衝突時僅支持update。支持作為整庫同步的目標端和源端。
13.TDengine 數據同步讀取
TDengine 支持作為數據同步的源端,支持源端時支持自定義 SQL、數據過濾、切分鍵填寫(併發讀取)、斷點續傳、增量同步。支持作為整庫同步的源端。
14.運維中心異常樹構建
背景:當實例在提交和運行過程中出現異常情況,無法直觀地進行原因分析,比如:
• 當前實例一直處於等待提交狀態沒有按計劃時間開始運行,是哪個或哪些上游出現異常導致的?
• 當前實例運行失敗或超時,會影響哪些下游實例?
新增功能說明:
異常樹構建能夠很好地解決以上的問題:
• 在實例調度流程中,上游依賴檢查中,如果“上游依賴中存在異常”,將會列印出所有阻塞實例信息(所屬租戶、所屬項目、所屬產品、責任人、狀態)
• 實例調度流程展示流程完成日期和時間
• 實例依賴視圖展示當前實例的定位
15.運維中心
背景:目前對 Hive SQL 任務的運行支持比較薄弱,例如沒有列印出 yarn 上的日誌,一旦任務開始執行便無法中止,比較影響數據開發用戶的調試。客戶期望對效率低、占用資源高的任務進行識別和及時管控。
新增功能說明:支持對 Hive SQL 實例進行運行過程的資源使用情況展示,並對於實例進行資源監控並配置告警。
• Hive SQL 實例的「實例詳情->運行記錄」中展示任務資源使用走勢圖
• 創建告警規則時,支持對 Hive SQL 資源占用情況進行監控
功能優化
1.運行任務優化
背景:在「數據開發」菜單中臨時運行任務後,切換到其他菜單,運行的任務將會停止。
體驗優化說明:運行任務時切換菜單,不會停止正在執行的任務。
2.表生命周期邏輯優化
背景:如果客戶有大量短生命周期的表,生命周期到期後表元數據信息不刪除,導致元數據中心有大量的臨時表,不僅元數據查詢性能受影響,數據同步的表等需要查詢表信息的地方會有大量不必要的內容存在。
體驗優化說明:
• 分區表:當前日期 - 當前分區的數據最後更新時間 > 生命周期,則刪除該分區,表的所有分區刪除後表的元數據信息刪除
• 非分區表:當前日期 - 表的數據最後更新時間 > 生命周期,則清空表中數據,表的元數據信息刪除
3.工作流優化
• 工作流樣式優化
• 工作流子節點新增運行方式:運行當前節點、從當前節點開始運行和運行至當前節點
• 工作流支持圈選,圈選後新增運行方式:運行至選中節點、從選中節點開始運行
4.GP表查詢優化
• 可查看的表的範圍為資產中已經元數據同步過的所有 Schema 的所有表
• 元數據實時刷新
5.ddl 操作管控支持的 SQL 類型完善
完善後支持所有任務類型 SQL 語句的 ddl 操作管控。
6.發佈功能優化
背景:當前發佈流程有很多校驗內容,包括任務上游、函數、資源、資源組映射、數據源映射等,發佈的時候可能會有內容缺漏,非常容易造成發佈失敗,平臺需要把缺漏的內容流程化一次性提示給用戶,且需要能夠支持一些內容的修改替換,以優化發佈體驗。
體驗優化說明:發佈時,會在發佈包中校驗引擎、數據源、資源組、任務、上游依賴、資源、函數、組件、表及責任人,並展示校驗結果。針對發佈失敗的校驗項,會給出優化提示。
7.報錯提示優化
項目新建失敗是由數據源導致時,會明確提示信息:數據源名稱、數據源類型、錯誤原因。
8.適配高可用配置 Hive 集群地址
若控制台配置 Hiveserver 和 Inceptor 採用的是 zk 連接模式,離線端支持獲取數據源信息。
9.新建工作流任務類型帶上“工作流”選項
此前新建工作流任務類型時,預設展示還是“數據同步”任務,現優化預設選中“工作流”選擇。
10.所有代碼任務支持版本回滾
Impala SQL、Oracle SQL、Greenplum SQL、AnalyticDB PostgreSQL、MySQL、SQL Server、TiDB SQL、GaussDB SQL、Trino SQL、HANA SQL、HashData SQL、StarRocks SQL 任務支持版本對比和版本回滾(目前所有代碼任務均支持了版本對比和版本回滾)。
11.任務預設運行方式調整
預設分段運行:GaussDB SQL、Oracle SQL、TiDB SQL、Trino SQL、MySQL、SQL Server、Hana SQL、ADB SQL、HashData SQL、StarRocks SQL、Inceptor SQL、Impala SQL
預設整段運行:Hive SQL、Spark SQL、Greenplum SQL
12.數據同步任務中僅可選擇項目對接的 Schema
數據同步時選擇當前項目的 meta 數據源,只能選擇當前項目的 meta schema。
數據同步時選擇引入其他項目的 meta 數據源,只能選擇引入數據源的 meta schema。
13.ES 作為目標數據源時,支持指定主鍵欄位構成
背景:在 ES 作為數據同步目標端的任務中,預設將所有欄位都作為主鍵欄位,會導致主鍵值過長,使任務失敗,因此需要離線側進行優化,不要預設將所有欄位都作為主鍵欄位。
體驗優化說明:在欄位映射時,支持指定主鍵包含的欄位。
14.運維中心優化
• 告警配置中勾選任務責任人,只有自己作為責任人的任務報錯時,才會給任務責任人發送告警信息
• 任務補數據支持配置告警規則
實時開發平臺
新增功能更新
1.新增【運維總覽】模塊
背景:之前實時平臺的運維都是針對單任務的,缺乏全局性的運維統計和分析能力,並且缺乏對運行中任務的監控分析。因為實時任務一旦運行失敗,就會立即對線上數據服務產生影響,我們希望能在任務失敗之前,就能發現各種潛在風險。
新增功能說明:新增【運維總覽】菜單,支持統計項目任務總數、狀態分佈、類型分佈,通過健康分模型,對每個運行中的任務進行健康評分。
2.新增【全局告警】功能
背景:之前的實時任務告警規則,需要在每個任務的運維頁面單獨配置,相當於以任務維度進行管理。但是在實際開發中,比如任務失敗這種場景,一般需要對每個任務都進行配置,但是這樣在每個任務上單獨操作又非常繁瑣。
新增功能說明:新增【全局告警】功能,以規則維度進行管理,每個規則可同時應用到多個任務上。
3.新增【日誌關鍵詞】監控告警規則
背景:實時任務在運行過程中,往往會出現任務狀態運行正常,但是實際日誌已經開始出現各種報錯信息的情況,比如 Exception、Error、Fail 等,這類關鍵詞的出現意味著任務的不穩定。我們需要在任務真正失敗之前及時感知到運行日誌中出現了這類關鍵詞,然後提前去解決。
新增功能說明:全局告警新增【日誌關鍵詞】規則,平臺自動創建相應的實時監控任務,前提是需要在任務開發時,開啟該任務的日誌列印功能。
4.告警規則新增【告警級別】、【告警恢復】配置項
背景:之前的告警規則沒有區分等級,用戶同時收到較多告警時,不確定需要先處理哪個問題,並且告警問題修複後,也沒有通知消息,運維成本相對較高。
新增功能說明:新增告警級別(緊急/重要/次要/提示);告警規則新增是否開啟恢復通知配置項。
5.新增【數據源】適配
• FlinkSQL 源表、結果表新增支持 Ckafka、CMQ 數據源類型
• Flink1.10 支持的 HBase2.x 和 Phoenix5.x 插件,適配 Flink1.12
• FlinkSQL 維表、結果表新增 Hyperbase 數據源
• Flink1.10 支持的實時採集 PGWal 插件,適配 Flink1.12
• Kafka 讀取類型新增 Raw Format
功能優化
1.優化【欄位級血緣解析】能力
背景:之前實時平臺的欄位級血緣解析只支持根據當前任務的 FlinkSQL 去解析,沒有進行上下游串聯,用戶無法回溯或者下鑽上下游關聯欄位。
體驗優化說明:欄位級血緣支持上下鑽查詢。(建議配合表級血緣一起分析,因為欄位級血緣是純 SQL 解析,不攜帶任務信息)
2.數據還原 SINK 端表名生成邏輯優化
背景:原先數據還原任務的 SINK 端表名生成,會自動拼接 Stream 等首碼。容易出現不符合內部數開的表名命名規則,拼接後導致表名太長無法正常創建等問題。
體驗優化說明:SINK 端自動創建的表名,支持兩種模式:預設和源表相同、支持在源表名的基礎上拼接自定義內容。
3.嚮導開發模式,Kafka 支持自動映射
背景:之前實時平臺的 FlinkSQL 任務開發,對於 Kafka Topic 的映射操作非常麻煩,需要用戶查詢 JSON 中的每個 KEY,配置成 Flink 表的欄位,如果需要做上百個欄位的映射,也需要人肉操作。開發往往選擇在應用外想辦法完成批量映射,再粘貼到平臺內,交互比較差。
體驗優化說明:Kafka Format 新增 OGG-JSON/ CHUNJUN-JSON,支持對這類 JSON 數據實現一鍵映射:
• 一鍵採集線上樣例數據,自動完成映射
• 手動輸入樣例數據,一鍵完成映射
4.Checkpoint 語義優化
背景:之前實時任務的 Checkpoint 恢復語義是放在環境參數中配置的(和開源 Flink 相同),但實際並不生效。因為 Flink 的實現是基於開源改造過的,狀態恢復語義需要在任務的結果表中進行 semantic 參數配置。
體驗優化說明:調整環境參數中的狀態恢復語義提示文案,引導開發至結果表參數中配置。FlinkSQL 任務預設為 at-least-once(保障實時性)、數據還原任務預設為 exactly-once(保障準確性)。
數據資產平臺
新增功能更新
1.監控數據變更
背景:客戶希望某些場景發生數據變更的時候,支持對比前後不同時間的數據,比如需要對比昨天和今天不同分區的數據,此場景可以通過對接控制台自定義參數來滿足。
新增功能說明:數據質量支持對接控制台自定義參數,涉及到質量的單表、多表的自定義 SQL、過濾條件的地方都需要修改,支持點擊直接複製參數。
2.數據標準/詞根導出
• 數據標準導出:支持數據標準按照目錄批量導出,滿足無平臺許可權部門線下對齊數據標準下發規範的需求
• 詞根導出:支持詞根按照目錄批量導出,滿足無平臺許可權部門線下對齊詞根的規範需求
3.Trino 跨源校驗支持 TDSQL、Inceptor
背景:項目上需要實現 TDSQL 表和 Inceptor 表的跨源校驗
新增功能說明:數據源中心 connector 配置新增 TDSQL、Inceptor,Trino 支持 TDSQL、Inceptor 的單表、多表、規則集校驗
• Trino 的 Inceptor:已支持 Inceptor 的質量校驗,通過 Trino 引擎連接 Inceptor 時,單表、多表、規則集校驗功能與 Inceptor 本身保持一致
• Trino 的 TDSQL:TDSQL與 MySQL 類似,通過 Trino 引擎連接 TDSQL 時,單表、多表、規則集校驗功能與 MySQL 類似
4.自定義角色
背景:滿足客戶側自由設定不同角色的許可權點,不同客戶可能會有不同的需求,目前的角色固定許可權點的方式不夠靈活,自由新增角色且配置許可權點,可以滿足不同客戶的角色及對應許可權點的個性化需求。
新增功能說明:
• 資產平臺可查看相關角色及許可權點配置:
• 設置-角色管理可進行角色配置和許可權點指定:
5.代碼規則檢查
背景:數據開發人員代碼水平不一,導致代碼書寫混亂,SQL 代碼運行問題較多,利用 SQL 檢查規則規範化 SQL 代碼,對代碼書寫問題進行攔截,便於統一管理,用於預防引入需要治理的問題。
新增功能說明:
• 規則管理:支持內置規則,同時也支持註冊規則,滿足不同客戶的個性化代碼檢查規範
• 內置規則:
• 註冊規則:
• 註冊規則文件:
• 生效環節:檢查規則支持對文件提交、運行的前置事件進行檢查
• 生效結果:檢查開啟後,設定為阻塞的檢查規則,檢查不通過將阻塞對應事件的流程;設定為提示的檢查規則,檢查不通過時離線側可忽略提示,仍然正常提交。檢查規則觸發後發現的事件稱之為檢查規則事件。
功能優化
1.實時欄位血緣優化
• 欄位血緣新增上下鑽,相當於根據表級血緣的關係,將多個任務的欄位級血緣串聯起來
• 預設只展示當前任務結果表的選中欄位的一級上下游(之前只有上游,因為只解析當前任務,沒有串聯)
• 如果上下游欄位還有自身的上下游血緣,icon 顯示,點擊繼續上下鑽一級
2.部分前端頁面UI升級
• 資產盤點
• 數據地圖
• 元數據同步
• 元數據質量-完整度分析
3.質量規則優化
• 創建任務回滾機制:
當質量任務綁定離線任務時,綁定失敗,質量任務仍然會創建成功,需要做到兩個之中任意一個失敗了,質量規則創建失敗
• 臟數據存儲變更,質量任務重新提交:
切換完獨立數據校驗要重新保存一下任務,不然去獲取臟數據時查的是獨立庫,但是 SQL 跑的是之前的庫,在切換臟數據獨立存儲後,把相關任務重新提交,包括新增/編輯
數據服務平臺
新增功能更新
1.SQL 生成 API 操作符支持修改
背景:生成 API SQL 中參數的操作符由平臺自動解析,不支持修改,存在解析錯誤的情況。
新增功能說明:操作符仍由平臺自動解析,如解析有問題可手動修改(註意此處僅做顯示的修改,不影響代碼中的實際邏輯)。
2.API 輸入參數
• API 輸入參數支持設置常量和時間變數預設值:配置了預設值的輸入參數若調用時沒有傳值則以預設值進行查詢
• API 輸入參數支持按正則表達式和計算表達式做校驗:輸入參數列表中可對單個參數配置正則表達式的校驗規則,用來進行例如手機號、身份證號等有標準格式的入參內容的校驗,另外高級配置中可以選擇進行計算表達式的校驗,用於多個入參關係的校驗
3.角色許可權點變更
角色許可權點新增 API 市場可查看的 API 範圍。API 查看範圍許可權點枚舉值:無查看許可權、可查看租戶下所有項目的 API、可查看租戶下當前用戶所在項目的 API。
4.數據許可權
數棧平臺內對接的 Trino 數據源的許可權判斷對接數據安全。開啟數據安全時,平臺內直接創建或對接的 Schema 會以當前用戶賬號判斷 Ranger 上的數據許可權。
5.API 告警規則圈選 API 時支持全選
全選後,API 後續在新增和刪除時平臺會動態調整圈範圍。
客戶數據洞察平臺
新增功能更新
1.衍生標簽、組合標簽加工過程支持 SQL 預覽
背景:標簽加工過程中,通過規則配置的結果開發不確定是否是其想要的內容,此時,開發人員會希望可以看到 SQL 內容,以確定結果的準確性。
新增功能說明:衍生標簽、組合標簽加工過程中支持通過「試計算」功能預覽 SQL 詳情。
2.數據同步至 HBase 資料庫
背景:創建實體或發佈動態群組後,僅運行 Hive 大寬表任務,但不會運行 Hive-HBase 的數據同步任務,導致當日建的實體或群組,當日無法調用 API,需要等周期實例運行後才能用API。
新增功能說明:新建/編輯實體或動態群組後,支持立即將數據同步至 HBase 資料庫。
• 創建/編輯實體:調用臨時運行介面,跑 Hive 大寬表任務,Hive 到 HBase 的大寬表同步任務
• 發佈(編輯已發佈的)動態群組:調用臨時運行介面,跑 Hive 群組任務,Hive 到 HBase 的群組同步任務
3.重跑歷史數據
背景:數據同步任務重跑歷史實例時,只刪除數據,不刪除表,當標簽數量變更後,欄位出現了不一致的情況,此時會出現任務運行失敗。
新增功能說明:發佈的標簽變更後,根據最新發佈標簽情況重跑歷史數據,數據同步任務重跑歷史實例時,調整為刪除表後重新創建表同步數據。
4.支持二次進行數據同步
背景:用戶可能由於 HBase 建表失敗導致同步任務失敗,此時即便任務重跑也不行,因為當前重跑並不支持建表,而用戶無法建表。
新增功能說明:HBase建表失敗後,支持二次進行數據同步,重跑時,根據源表結構創建建 HBase 表,如果表結構一致,可不用重新創建。
5.HBase 建表條件
背景:HBase 表創建是通過定時任務創建,而無論這個任務是否凍結都會創建,這樣會產生很多無用的空表,占用大量 HBase 的 Region 和 zk 記憶體資源。
新增功能說明:HBase建表條件調整為針對未凍結且未刪除的任務定時建表。定時任務建表時只創建未凍結且未刪除任務的表,任務解凍之後,用戶重跑或補數據時先創建表再重跑同步任務。
6.導入標簽&上傳本地群組時,支持匹配日期類型欄位
• 上傳本地群組:支持日期類型的匹配維度,但客戶上傳數據的日期格式需與大寬表的欄位格式保持一致,否則報錯
• 導入標簽:支持匹配維度支持日期類型的匹配維度,但客戶上傳數據的日期格式需與大寬表的欄位格式保持一致,否則報錯
功能優化
1.數據模型許可權控制優化
背景:當前數據模型功能除 admin、租戶所有者/管理員外,其他角色不可查看、新增數據模型,但實際使用中,更多的是項目級別的管理員進行數據模型的創建、編輯操作,對於許可權要求高的客戶來說,不便於將項目管理員調整為租戶管理員,導致流程卡住。
體驗優化說明:admin、租戶所有者/管理員、項目所有者/管理員可以對數據模型進行操作,其他角色按照原來的規則,進到頁面不可查看、操作。
指標管理平臺
新增功能更新
1.指標 API 生成的 Hive 大寬表支持生命周期設置
背景:指標 API 生成過程中會在 Hive 中存儲一份數據,需要同步支持生命周期設置。
新增功能說明:指標 API 設置中,區分 Hive、HBase 數據源進行數據生命周期設置。
2.增加維度管理模塊,支持設置維度對象、維度屬性
背景:
目前指標產品只支持一層維度,用戶選擇起來麻煩。如“客戶”有“客戶ID、客戶名稱、客戶手機號”等維度,當用戶在派生和複合層選擇時,需要一個個點。
客戶方會有複合指標依賴的2個派生指標用到同一個維度的需求,兩個維度未在數據模型中做關聯,從而導致無法在當前項目內創建複合指標。
新增功能說明:
• 「指標中心」-「數據管理」新增「維度管理」模塊
• 新增“維度對象”、“維度屬性”概念,一個維度對象包含多個維度屬性,支持一個維度對象下不同的維度屬性來源於不同的維度表,支持一個維度屬性關聯不同的維度表
• 增加主維表、次維表概念。每個維度對象有一張主維表,多張次維表,主維表主要起到批量創建維度屬性的作用,次維表主要起到關聯維度屬性的作用,後續用於識別維度一致性,新建維度對象時,同步選擇主維表,批量生成維度屬性,後續新增維度屬性可通過「新建維度屬性」實現,將其他次維表欄位關聯到已有維度屬性通過「關聯維度屬性」實現
3.數據模型支持落表
背景:派生指標是基於模型所用的源表進行指標加工,實際使用中,使用同一模型的多個派生指標頻繁重覆使用數據源時,當數據源的數據量較大時,加工效率會變慢,此時需要將模型落表以提高加工效率。
新增功能說明:「新建模型」中的【第五步:設置】中的模型存儲選項,選擇存儲為物理表,並配置表信息、調度信息,包括表名稱、任務名稱調度周期、出錯重試,也需要設置數據生命周期信息。指標發佈後,系統將提交模型任務周期計算數據落表。
4.數據模型中選擇的拉鏈表支持自定義匹配日期欄位
背景:數據模型中設置了一個增量分區表(左表),並匹配了一個拉鏈表(右表),左表包含兩個時間欄位(一個是用於分區的時間欄位,另一個是用於和拉鏈表的開始/結束時間做匹配的時間欄位),目前平臺只支持匹配分區時間欄位,不支持普通的時間欄位,導致模型無法正常創建。
新增功能說明:【第二步:表關聯】模型關聯表中添加的關聯表為拉鏈表時,拉鏈表的開始、結束時間可選擇直接匹配左表的分區欄位(業務日期),也可匹配左表的某一特定的時間欄位(左表時間自定義)。
5.增加業務限定模塊
背景:派生指標加工過程中,針對同一模型、相過濾條件,針對不同聚合維度、不同計算公式需要生成不同的派生指標的場景,為提高指標加工效率,過濾條件可抽離出來在上層進行業務管理時提前生成業務限定,後續直接引用即可。
新增功能說明:增加業務限定模塊,支持批量設置指標計算過濾條件
• 「指標中心」-「數據管理」新增「業務限定」模塊
• 新增/編輯業務限定
• 派生指標加工時的過濾條件設置變更為業務限定選擇
6.統計周期增加上季末、上年末參數
背景:指標加工過程中,會有加工季度末、年度末的統計周期設置需要,當前無法通過可視化加工實現,只能通過自定義指標實現,本次功能迭代通過可視化配置方式實現該需求場景.
新增功能說明:
上季末參數:${bdp.system.preqrtrend}
上年末參數:${bdp.system.preyrend}
統計周期設置上季末的數據的設置方式如下:
7.統計周期支持自定義周期標識
背景:統計周期之前只支持設置周期名稱,當名稱變更後,未被通知到的用戶不易正確識別到所需周期,本次加入周期標識,方便定位周期唯一性。
新增功能說明:新增統計周期時,可配置周期標識,欄位在周期列表中同步展示。
8.指標表名稱支持自定義
背景:客戶加工表的過程中,會根據自己的特定規則生成表名稱,目前指標生成的表名稱是根據系統內置條件生成,不便於客戶定位表。
新增功能說明:新增指標的「設置調度信息」步驟中,設置指標表名稱(編輯時不可修改)。
9.試計算增加表結構預覽
背景:未生成指標表前,客戶僅能根據 SQL 判斷表內的欄位信息,為方便查看表結構,在查看 SQL 信息的同時,可通過可視化方式查看對應的表結構信息。
新增功能說明:
10.複合指標支持自定義關聯鍵
背景:歷史功能是將選擇的維度作為關聯鍵,生成如下SQL:select A.性別,avg(A.消費金額 / B. 消費人數) from A left join B on A.性別 = B.性別。
但實際 SQL 編寫中,存在聚合維度與關聯鍵設置不一致的情況,期望生成下列 SQL:select A.性別,avg(A.消費金額 / B. 消費人數) from A left join B on A.user_id = B.user_id,實際加工結果與期望不符。
新增功能說明:「維度設置」模塊的「關聯鍵選擇」自定義設置多個關聯鍵,若兩個欄位的欄位類型不一致,需要選擇需要轉換的欄位類型,以保證關聯鍵可以正常匹配。
功能優化
1.複合指標運行過程中產生的臨時表刪除邏輯優化
背景:複合指標運行周期任務實例、運行補數據實例時會針對公式中的各指標生成 Hive 臨時表,當任務運行失敗時,臨時表未進行及時清理,造成客戶存儲資源浪費。
體驗優化說明:每天定時清除2天前生成的臨時表。
2.原子指標加工方式升級,可自定義公式
背景:原來的原子指標是將模型欄位做直接映射,映射後的原子指標需先生成派生指標/複合指標,再與其他指標表做加工,此時需要有公共維度存在,否則無法進行指標加工,無法滿足維度不一致的欄位的加工。
體驗優化說明:原子指標層針對模型可自定義公式,以解決上述指標加工場景,後續派生指標將直接引用原子指標定義的公式進行數據計算。
3.派生指標的技術信息設置方式變更
• 維度選擇:由取原子指標的維度改為取原子指標所引用模型的維度(顯示對應的維度對象、維度屬性信息),並可針對一批維度批量選中對應的維度對象
• 過濾條件設置:由原來的根據模型依次配置條件調整為直接引用業務限定中配置的業務限定規則,可一次添加多個業務限定規則
4.複合指標規則設置模塊功能劃分優化
背景:之前的規則設置模塊功能劃分中,過程指標的條件設置與指標結果的設置均放到了維度設置中,點擊單個指標的操作範圍不便於理解,基於操作習慣、理解難度對功能模塊重新做了劃分。
體驗優化說明:整體包含三個模塊:維度設置、結果設置、過程指標詳情:
• 維度設置:包含複合指標結果表所需的維度、各過程指標結果表關聯方式及關聯鍵選擇
• 結果設置:保存精度、取整方式、為空預設值、計量單位
• 過程指標詳情:針對單個過程指標設置維度過濾、結果過濾條件
5.SQL 指標 Catalog 解析優化
背景:SQL 指標中沒有解析 SQL 語句中用到的 Catalog,導致 SQL 指標後續進行複合指標、API 查詢時報錯。
體驗優化說明:
• 解析 SQL 指標語句,解析 Catalog、表級血緣關係、欄位級血緣關係
• 修複複合指標、API 查詢 SQL 指標時的報錯
《數棧產品白皮書》:https://www.dtstack.com/resources/1004?src=szsm
《數據治理行業實踐白皮書》下載地址:https://www.dtstack.com/resources/1001?src=szsm
想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky
同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack