這段時間,我們對產品本身以及客戶反饋的一些問題進行了持續的更新和優化,包括對離線平臺數據同步功能的更新,數據資產平臺血緣問題的優化等,力求滿足不同行業用戶的更多需求,為用戶帶來極致的產品使用體驗。 以下為袋鼠雲產品功能更新報告第五期內容,更多探索,請繼續閱讀。 離線開發平臺 1.支持工作流參數 背景 ...
這段時間,我們對產品本身以及客戶反饋的一些問題進行了持續的更新和優化,包括對離線平臺數據同步功能的更新,數據資產平臺血緣問題的優化等,力求滿足不同行業用戶的更多需求,為用戶帶來極致的產品使用體驗。
以下為袋鼠雲產品功能更新報告第五期內容,更多探索,請繼續閱讀。
離線開發平臺
1.支持工作流參數
背景:很多業務場景下一個工作流中需要有一些能生效於整個工作流的參數,統一配置其下所有子節點通用。
新增功能說明:工作流父任務中支持創建工作流層級參數,工作流參數在工作流範圍內生效。工作流下子節點支持通過${參數名稱}的方式來引用該工作流參數。
2.支持項目級參數
背景:
目前離線已支持的參數類型有以下幾種:
• 全局參數-作用於整個數棧平臺
• 自定義參數-作用於單個離線任務/工作流子節點
• 任務上下游參數-作用於引入此參數的下游任務
• 工作流參數-作用於單個工作流任務
增加的項目級參數,作用於當前項目之內的所有任務,既不影響別的項目的任務,也可實現項目內某些業務配置批量修改的效果。
新增功能說明:支持在項目的「項目管理->項目參數」中配置項目參數,配置完成後,該項目下的任務都可以進行引用。在任務中可以通過${參數名稱}的方式引用項目參數。
3.綁定的項目支持解綁
背景:當前項目綁定為非可逆操作,一個項目一旦和另一個項目產生綁定後無法解綁也不支持刪除,但部分已經綁定的項目因業務原因可能需要換目標項目綁定,或者不再使用需要刪除。
新增功能說明:可在測試項目的「項目設置-基本信息」中操作解綁生產項目,此操作不可逆。解除生產測試項目綁定後,數據源映射、資源組映射、發佈至目標項目功能會受到影響,回退至綁定前狀態,可按正常邏輯刪除。
4.補數據支持對各類型參數進行一次性賦值
背景:補數據時可能會存在需要對參數值進行臨時替換的情況,例如跑歷史日期的數據時,補數據的時間參數範圍需要變更。
新增功能說明:在「運維中心-周期任務管理-任務補數據」中進行補數據參數重新賦值操作,補數據實際跑任務的參數值會被補數據時重新賦值的參數值替換。
5.臨時運行可查看運行歷史
背景:周期任務、手動任務提交到調度運行時,都會產生實例,記錄運行狀態和運行日誌等信息。但是周期任務、臨時查詢和手動任務在臨時運行時不存在運行記錄,用戶無法查看歷史臨時運行的運行狀態和運行日誌等信息,導致一些重要的操作無法追蹤。
新增功能說明:在數據開發頁面最左側功能模塊列表中,新增了「運行歷史」功能。在「運行歷史」中,可查看歷史近30天(可自定義)臨時運行的 SQL、日誌等信息。
6.告警接受人支持填寫其他參數
背景:部分客戶希望一些非數棧用戶(比如合作方)也能收到任務的告警信息,而目前平臺支持選的告警接收人範圍為當前項目下的用戶。期望離線側告警配置時能靈活添加一些自定義值:可以是手機號、郵箱、用戶名等信息,客戶通過自定義告警通道中上傳的 jar 包自定義解析獲取值的內容,再通過自己的系統給解析出的聯繫人發送告警。
新增功能說明:在創建告警規則時,支持填寫外部聯繫人信息,通過英文逗號分割。(自定義告警通道中上傳的 jar 需要支持解析)
7.數據同步的讀寫並行度支持分開設置
背景:由於數據同步源端與目標端的資料庫存在資料庫本身性能等因素的影響,讀和寫的速率往往是不一致的,例如讀的速率是5M/s,寫的速率只有2M/s,讀和寫統一用一個並行度控制實際不能達到同步速率的最大優化,反而可能帶來問題。
新增功能說明:在數據同步的通道控制中原“作業併發數”改為“讀取併發數”和“寫入併發數”,兩個參數單獨配置互不影響,用戶可靈活調整讓同步效率最大化,併發數調整範圍上限改為100。
8.臟數據容忍條數支持按項目設置預設值
新增功能說明
背景:同步任務中的臟數據預設容忍條數原本固定是100,部分客戶實際接受的容忍度是0,導致每配置一個同步任務就需要改一下臟數據容忍條數的設置值,使用不便。
新增功能說明:在離線「項目管理->項目設置->操作設置」中,支持設置數據同步任務臟數據預設容忍條數和臟數據預設容忍比例。配置完成後,新建數據同步任務在通道控制模塊會展示預設值。
9.數據同步讀取 hive 表時可選擇讀取多個分區的數據
背景:數據同步讀取 hive 表時目前僅支持選擇一個分區讀取,部分客戶場景下需要把多個分區的數據讀取出來寫入目標表。
新增功能說明:讀 hive 表時分區可以用 and 作為連接符篩選多個分區進行數據讀取。
10.任務運行超時中斷
背景:目前所有任務一旦開始運行,無論運行多久平臺都不會自動殺死,導致部分異常任務運行時間長,占用大量資源。
新增功能說明:所有任務在調度屬性處增加了超時時間的配置項,預設不限制,可選擇定義超時時間,運行超時後平臺會自動將其殺死。
11.表管理的表查看交互優化
背景:點擊表管理中某張表的欄位、分區等詳細信息的區域較小,不方便查看。
新增功能說明:對該區域可手動進行拉高。
12.hive 數據同步的分區支持選擇範圍
當 hive 類數據源作為數據同步的來源時,分區支持識別邏輯運算符“>”“=”“<”“and”,例如“pt>=202211150016 and pt<=202211200016 ”,即代表讀取範圍在此之間的所有分區。
13.FTP 大文件拆分支持自定義解析文件的拆分
在用戶解析方式選擇自定義解析方式時,支持用戶上傳自定義 jar 包對 FTP 中的文件進行切割拆分同步。
14.版本對比功能優化
· 歷史版本支持查看近50條版本記錄
· 版本對比功能交互調整
• 支持歷史版本間對比
15.整庫同步寫 hive 時支持對分區表指定分區名稱
當整庫同步選中 hive 類的數據同步目標時,可以指定分區欄位的名稱。
16.離線支持配置指標任務作為上游依賴
目前離線已經支持的跨產品任務依賴包括:質量任務(關聯)、標簽任務,加上指標任務後整個數棧的所有離線任務就可實現相互的依賴了。
17.臟數據管理概覽圖顯示具體時間
18.通過右鍵快捷鍵可查看任務日誌
19.任務執行進度優化
執行進度前展示等待時長。
20.其他優化項
· vertica 支持嚮導模式數據同步
· 任務下線後,支持查看任務實例
· RDB 任務支持在任務間及工作流里的參數傳遞
· 數據同步任務在創建發佈包時被選中時支持關聯到表:數據同步任務目標端一鍵生成的目標表,支持關聯至發佈包中
· SQL 語句支持:Desc database、Show database、Create database、Drop database、Show tables、Create table、Desc table、Alter table、Drop table、Creat function
· 表聯想功能優化:spark sql、hive sql、gp sql 編寫 SQL 代碼時,支持表聯想功能,聯想範圍:離線對接和創建 schema 下的表
· 刪除任務、資源等內容時,提示內容名稱
實時開發平臺
1.【數據還原】支持一體化任務
背景:一個任務即可完成存量數據的同步,並無縫銜接增量日誌的採集還原,在數據同步領域實現批流一體,常用於需要做實時備份的數據遷移場景。
比如在金融領域,業務庫出於穩定性考慮,無法直接面向各種上層應用提供數據查詢服務。這時候就可以將業務數據實時遷移至外部資料庫,由外部資料庫再統一對外提供數據支撐。
新增功能說明:支持存量數據同步+增量日誌還原的一體化任務,支持 MySQL—>MySQL/Oracle,在創建實時採集任務時,開啟【數據還原】,還原範圍選擇【全量+增量數據】。
2.【數據還原】支持採集 Kafka 數據還原至下游
背景:當用戶對 Kafka 數據沒有實時加工的需求,只希望能將 kafka 消息還原至下游資料庫對外提供數據服務時,可以通過實時採集配置化的方式,批量完整此類採集還原任務,不需要一個個的維護 FlinkSQL 任務。
新增功能說明:支持將 Kafka(OGG格式)數據,採集還原至下游 MySQL/Hyperbase/Kafka 表,在創建實時採集任務時,源表批量選擇 Kafka Topic,目標表批量選擇 MySQL 表,再完成表映射、欄位映射。
3.任務熱更新
背景:目前對於編輯修改實時任務的場景,操作比較繁瑣。需要在【數據開發】頁面完成編輯後,先到【任務運維】處停止任務,然後回到【數據開發】頁面提交修改後的任務,最後再回到【任務運維】頁面向 YARN 提交任務。
新增功能說明:當前更新後,支持修改「環境參數」、「任務設置」後,在數據開發頁面提交任務後,任務運維處自動執行「停止-提交-續跑」操作。
4.數據源
新增 ArgoDB、Vastbase、HUAWEI ES作為 FlinkSQL 的維表/結果表,均支持嚮導模式。
5.【表管理】合併原有的 Hive Catalog 和 Iceberg Catalog
背景:這兩類 Catalog,實際都是依賴 Hive Metastore 做元數據存儲,Iceberg Catalog 只需要在 Hive Catalog 基礎上,開啟額外的一些配置項即可,所以將這兩類 Catalog 做了合併。
體驗優化說明:創建 Hive Catalog,可以選擇是否開啟 Iceberg 表映射,如果開啟了,在這個 Catalog 下創建 Flink Table 時,只支持映射 Iceberg 表。
6.【任務運維】優化任務停止時的狀態說明
背景:在保存 Savepoint 並停止任務時,因為 Savepoint 文件可能會比較大,保存時間需要比較久,但是狀態一直顯示「停止中」,用戶無法感知停止流程。並且如果保存失敗了,任務依然會一直顯示「停止中」,任務狀態不符合實際情況。
體驗優化說明:在保存 Savepoint 並停止任務時,「停止中」狀態會顯示當前持續時間,以及保存失敗的重試次數。當最終保存失敗時(代表任務停止失敗),此時任務會自動恢復至「運行中」狀態。
7.【啟停策略】創建啟停策略時,支持強制停止配置項
背景:目前創建的啟停策略,預設都是執行保存 savepoint 的邏輯。但是當保存失敗時,任務不允許自動做出選擇幫用戶丟棄 savepoint 進行強制停止,所以我們將這個的選擇權,放給了用戶。
體驗優化說明:創建啟停策略,有個強制停止的開關。
8.血緣解析
支持過濾鏈路節點類型,支持全屏查看,支持搜索,任務節點支持查看狀態。
9.系統函數
更新內置的系統函數,同步 Flink 官方內容。
10.其他優化項
· 數據還原:開啟數據還原的實時採集任務,支持生成 Checkpoint 並續跑
· UI5.0:更新 UI5.0 前端樣式
數據資產平臺
1.【血緣問題】冗餘血緣移除
背景:當前現狀當存在血緣關係時,會生成兩條血緣關係,此問題需要解決,否則全鏈路會產生非常多的冗餘血緣。
體驗優化說明:只展示一條血緣。
2.【血緣問題】關鍵字支持
· 當表發生 delete、drop、trancate 數據清空時,表與表之間、表與任務之間的血緣關係刪除
· 當任務下線、刪除時,表與表之間血緣依舊存在,表與任務之間的血緣關係刪除
3.【血緣問題】重合數據源
背景:標簽指標對接的是 trino 引擎,離線對接的是 sparkthrift,如果不解決唯一性問題,無法串聯全鏈路血緣。
體驗優化說明:不同鏈路間的血緣不相互影響,但是彙總成同一鏈路展示。
4.【血緣問題】數據源唯一性區分
· 不同的引擎讀取同一張控制台的 hive 表(如sparkthrift、trino)
· 數據源中心建立的不同的數據源,其實是同一個資料庫
5.【全鏈路血緣】表→指標
數據資產平臺已初步實現數棧內部全鏈路血緣關係的打通,包括表、實時任務、離線任務、API、指標、標簽。
表→指標:
• 根據指標平臺的【指標的生成】記錄【表→指標】之間的血緣關係
• 指標的生成包括【嚮導模式】、【腳本模式】
• 指標平臺如果有變動,比如刪除、下線了某個指標,資產平臺需要更新血緣視圖
• 支持指標的欄位血緣解析
6.【全鏈路血緣】表→標簽
· 根據標簽平臺的【標簽的生成】記錄【表→標簽】之間的血緣關係
· 標簽通過實體和關係模型創建,實體中需要關聯主表和輔表,關係模型中有事實表和維表,並且關係模型可存儲為實際的物理表,因此血緣鏈路包括數據表、標簽
· 標簽平臺如果有變動,比如刪除、下線了某個標簽,資產平臺需要更新血緣視圖
· 支持標簽的欄位血緣解析
7.【全鏈路血緣】實時任務
· 任務類型有兩種:實時採集任務和 FlinkSQL 任務,FlinkSQL 任務存在欄位血緣關係
· 支持 kafka 側的血緣關係展示
8.血緣展示優化
· 右上角篩選項:優化為多選菜單,表、離線任務、實時任務、API、標簽、指標(預設選中全部維度,當前進入的維度選中且不可取消)
• 欄位血緣:不展示右上角的篩選項
• 逆向血緣全局提示:
a.進入血緣關係頁面,進行全局提示:“進入血緣每個節點都可右擊查看該節點的全鏈路血緣,存在逆向可展開節點時建議右擊查看~”
b.右擊查看當前節點的血緣會更完整
9.DatasourceX:【存儲】、【表行數】邏輯優化
背景:直接從 metastore 讀取是不准確的,之前 flinkx 是支持通過腳本更新存儲和表行數,flinkx 升成 datasourcex 之後,相關 analyze 邏輯沒有帶過來。
體驗優化說明:datasourcex 優化了對部分數據源的【存儲】、【表行數】的腳本統計,包括 hive1.x、2.x、3.x(cdp/apache)、sparkthrift、impala、inceptor。
10.DatasourceX:【存儲大小】【文件數量】更新邏輯優化
背景:數據治理新增了 meta 數據源的文件數量,又因為文件數量這個屬性是 datasourcex 支持,普通的數據源也需要新增這個屬性。
體驗優化說明:datasourcex 對部分數據源的【存儲大小】【文件數量】的腳本統計,數據治理結束後,更新【存儲大小】【文件數量】邏輯。
11.前端頁面升級
體驗優化說明
• 資產盤點
• 元數據標簽頁面
• 元模型管理
• 分區優化
指標管理平臺
1.【demo封裝】demo功能優化
· 數據模型支持 catalog 選擇,catalog 預設採用 DT_demo 租戶下指標綁定的 trino 數據源對應的 catalog,schema 信息預設為 dt_demo。
· 「項目管理」模塊展示,支持查看項目配置信息,支持設置 API 數據源,但不支持正常項目中可編輯的其他功能的修改,以保障 demo 項目的正常使用。
《數棧產品白皮書》: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