年底啦~2022年即將走到尾聲,不過袋鼠雲對產品品質的堅持始終如一,這段時間我們對產品本身以及客戶反饋的一些問題進行了持續的更新和優化,例如新增任務告警,進行了Connector相關功能優化,以及支持跨時間分區圈群等。 以下為袋鼠雲產品功能更新報告第三期內容,更多探索,請繼續查閱。 離線開發平臺 1 ...
年底啦~2022年即將走到尾聲,不過袋鼠雲對產品品質的堅持始終如一,這段時間我們對產品本身以及客戶反饋的一些問題進行了持續的更新和優化,例如新增任務告警,進行了Connector相關功能優化,以及支持跨時間分區圈群等。
以下為袋鼠雲產品功能更新報告第三期內容,更多探索,請繼續查閱。
離線開發平臺
1.任務診斷
用戶痛點:任務一直在等待提交或者等待運行,用戶看不到原因,不知道該如何處理能讓任務儘快跑起來;任務運行了很久都沒有出結果,不知道是什麼原因導致,不能有針對性地進行改善。
新增功能說明:對周期和補數據實例將按實例所涉及流程進行診斷,提示異常原因,給出建議方案。另外針對SparkSQL任務還支持根據參數展示給出提升運行性能的調參建議。
任務診斷功能的目的是幫助數據開發進行任務異常原因排查,以便快速採取應對策略解決問題,減少問題持續時間以及技術支持和產研的排查投入。
2.事件任務
事件任務可接收外部http信號,被觸發後才能運行,多用於數棧離線任務依賴外部調度系統的任務的場景。
3.條件分支任務
條件分支接收上游依賴一個或多個任務的傳參,當參數滿足某一條件時執行條件分支任務下游的一個或多個分支,在一次運行中沒有被命中的分支對應實例會被自動取消。
4.對接數據安全模塊
用戶痛點:離線的數據許可權管理僅支持web層的管理方式,表的許可權申請審批通過數據地圖完成。
新增功能說明:數棧層面的數據許可權管理可選擇統一收攏至數據安全模塊,當hadoop為開源版本3,ranger版本為2.2時,可通過在控制台配置Ranger和LDAP組件,通過LDAP用戶認證由數據安全模塊實現數據許可權管理,許可權管理更靈活、粒度更細。
5.Spark SQL臨時查詢展示任務執行進度
Spark SQL臨時查詢展示任務執行進度並實時列印日誌。
6.支持項目層面的統一配置項
支持在項目層設置是否在周期和手動任務/臨時查詢中允許ddl操作。
7.其他新增功能項
·支持HANA SQL任務類型:控制台配置了HANA SQL引擎後離線可創建HANA SQL任務
· 支持Spark on Kubernetes:當控制台配置的hadoop下的資源調度組件為Kubernetes時,Spark類的任務可正常運行
· 支持文件拷貝任務:支持hive<->ftp之間的文件拷貝,僅做拷貝文件,不做數據解析,相對於通過FlinkX的數據同步可快速完成文件的遷移,遷移完成後可通過load data的方式載入到表裡
8.數據同步欄位映射支持表元數據刷新
用戶痛點:數據同步任務創建完成運行一段時間後,源表或目標表表結構有變更(例如有欄位增減),需要對欄位映射進行重新配置。
產品體驗優化說明:點擊刷新後平臺將自動獲取最新的表結構,已建立的欄位映射將保留,新欄位需要重新映射。
9.補數據對任務增加自定義參數值的臨時替換
補數據的一些場景中需要對自定義參數值進行臨時改寫,此操作只針對本次生成的補數據實例生效。
10.告警規則的告警接收人支持按用戶組添加用戶
選擇用戶組後,用戶組添加或刪除用戶,對應告警規則接收人也將同步添加或刪除用戶。
11.python、shell任務依賴資源/任務改造
Python、Shell任務可引用其他任務進行代碼計算,也支持選擇依賴資源一起提交運行。
12.支持通過上傳自定義日曆的方式進行全局參數配置
全局參數分為如下類型:
13.全局自定義調度周期支持兩種時間粒度
用戶痛點:控制台配置的自定義調度周期僅支持配置到時分,若一批任務的調度周期日期一樣僅時分不一樣則需要配置多個自定義調度周期。
產品體驗優化說明:控制台自定義調度周期可選擇配置到天/時分,配置到天時,任務中可再選擇具體時分。
14.管理角色的項目創建初始化改造
用戶痛點:admin、租戶管理員、租戶所有者,上述管理角色在項目創建初始化邏輯混亂,租戶層的管理角色可被移出項目,導致管理層角色實際管轄範圍有缺漏。
產品體驗優化說明:上述管理角色在項目創建時預設存在於所有項目中但預設不展示在用戶列表中,且不支持被移出項目。
15.數據開發表查詢交互優化
體驗優化說明
對錶按層級做了展示和交互優化。
16.重跑和置成功功能優化
重跑分為僅重跑當前實例和重跑當前實例並恢復調度,後者會帶起下游實例繼續運行。
置成功分為僅把當前實例置為成功狀態和置成功當前實例並恢復調度,後者是會帶下下游實例繼續運行。
17.離線開發首頁改造
18.RESTful數據同步支持多次數據請求和指定數據主體
RESTful數據讀取時可能一次請求得到的數據不完整,需要分多次讀取,因此離線支持配置多次請求參數,可分批進行數據讀取。
數據讀取時返回格式支持JSON、CSV和XML三種,且對JSON和XML支持指定數據主體,可從返回數據中用JSONPath的方式指定數據需要從哪個路徑的key下讀取。
19.FTP數據同步支持自定義解析方式
FTP中的文件若有特殊的解析要求,可自行開發解析代碼,以資源的方式上傳後在解析方式中選擇使用。
20.數據同步任務欄位映射支持欄位轉換
欄位映射中,可選擇資源管理中的資源單個/批量對欄位進行轉換處理,例如可以對源表欄位進行加密/欄位內容轉換等操作後寫入目標表。
21.發佈功能優化
· 導入導出式發佈現可支持工作流任務
· 對於發佈包中任務所需要但目標項目下缺失的數據源進行了詳細提示
· 對於上游依賴缺失的任務進行完整提示,而非只發現最近一層缺失上游即終止檢查
· 自定義運行參數支持配置映射值:當前項目綁定了一個目標項目後,對於自定義參數可配置其在本項目的值和發佈至目標項目後的替換值
22.Spark CBO優化
Spark2.4及以上版本支持開啟CBO,開啟後平臺會按用戶設置的元數據信息發送頻率把當前項目meta schema的元數據信息同步給引擎,以提升SparkSQL的運行性能(20%以上)。
23.數據同步Oracle表搜索去除大小寫敏感
例如原庫下有Oracle12和oracle333兩張表,在數據同步源表和目標表的選擇表中輸入“oracle”進行表搜索
【修改前】搜索結果為oracle333
【修改後】搜索結果為Oracle12和oracle333
24.批量操作優化
· 支持批量修改調度周期
· 增加操作成功/失敗結果狀態提示
25.任務和實例增加自依賴說明
任務/實例存在跨周期依賴的情況不能在依賴視圖中直接體現,因此在任務/實例的屬性信息中增加此提示,以方便排查問題。
26.周期實例中按條件殺實例入口調整
按條件殺實例中可以根據任務條件進行批量選中任務。
27.Spark SQL語法校驗從平臺下移到插件
Spark SQL語法校驗從平臺下移到插件,且新增語法檢查按鈕。
28.提交/修改的任務能夠立即生成實例
任務在調度屬性中新增實例生成方式的選項,除每天固定時間點(22點)生成第二天的實例外還可支持立即生成當天的實例,例如一個任務的調度周期是小時,計劃時間是每天每個整點運行,實例生成方式選擇“立即生成”,當用戶在19:55的時候提交這個任務後,調度會立即生成當天20、21、22、23點的實例並運行。
29.FTP數據同步優化
· 在同步時可讀取文件名稱進行同步:FTP數據源在欄位映射處支持增加文件名稱欄位,針對每行數據記錄其所對應的文件名稱並寫到目標表的欄位中
· 對於同步成功的文件可進行處理:刪除文件、重命名文件、將文件移動到指定路徑
· 數據同步時列印彙總信息:文件總數,文件內容,文件數據總行數,總耗時
30.數據同步任務支持上游參數輸入
31.手動任務
新增手動任務的任務類型,用於手動調起執行任務的場景。
32.數據同步嚮導模式支持CustomSQL填寫
在數據同步任務中,針對RDB類數據源(oracle、MySQL、pg、sqlserver、tdsql、gp、db2、達夢oracle&MySQL、kingbase、gaussdb、tidb、adb、hana、phoenix、solr)作為數據來源時支持通過自定義SQL跨表取數,且在欄位映射中對SQL欄位進行解析。
33.其他體驗優化項
體驗優化說明
·Spark引擎支持3.0版本:Spark SQL/Spark/PySpark任務支持用3.0版本的Spark引擎運行
· Hive支持代理賬號提交任務:在控制台hiveserver組件上配置自定義參數hive.proxy.enable = true後,hive任務提交時將會由代理用當前用戶身份進行提交
· 任務SQL代碼放開load data語句:hivesql sparksql impalasql inceptorsql現可正常使用load data語法運行和提交任務/臨時查詢
· 任務上下游參數傳遞優化:增加支持shell on agent任務的上下游參數傳遞;增加支持工作流內的sparksql、hivesql、shell、python、shell on agent
· 數據同步任務當HDFS分區不存在時,高級配置中可配置報錯或是寫入空數據:hdfs分區不存在的時候不要報錯,而是寫入空數據,可配置failedIfPathNotExist 參數,true代表不存在時報錯,false代表寫入空數據
· 統計數據流量統計優化:棄用使用objectSizeCalculator統計對象大小的方法,在ColumnRowData(flinkx上下游數據傳輸使用的對象)中設置一個累加器記錄對象大小
· 數據同步任務嚮導 -> 腳本模式的轉換優化:數據同步任務在選擇來源和選擇目標時不可從嚮導轉成腳本,在欄位映射和通道配置時可轉換成腳本並且會提示先保存,轉換成腳本後嚮導模式下的配置才會保留
· 組件輸出參數修改為非必填項:輸出參數即數據產出表,優化前為必填內容,但在部分客戶的場景中多個任務的數據可能會產出到同一張表的不同分區,因此輸出參數從必填改為非必填
· 語法校驗優化:可校驗的SQL語句覆蓋全面,包括DDL、DML及一些特殊語法,例如with as,cache table,語法校驗時間縮短30%
· DAGScheduleX性能優化:離線運維中心可正常顯示百萬級實例日增時的顯示,千萬級實例的依賴拓撲圖可正常生成
實時開發平臺
1.Connector相關新增功能
· 新增支持RocketMQ數據源,作為FlinkSQL的Source端
· 新增支持RabbitMQ數據源,作為FlinkSQL的Source端
· 新增支持StarRocks數據源,作為FlinkSQL的lookup&sink端
· 新增支持Vertica數據源,作為FlinkSQL的sink端
2.Connector相關功能優化
· Redis結果表的嚮導模式配置,新增「數據類型」、「寫入模式」兩個配置項
· Oracle Logminer的QUERY_LOG_INTERVAL 參數提取,支持在高級配置中進行配置,該參數可以控制查詢間隔時間,防止沒有數據更新時頻繁查詢資料庫造成不必要的壓力
3.實時採集支持自定義SQL
間隔輪詢模式下的實時採集任務,支持用戶自定義SQL對採集源表進行過濾、關聯、計算等計算,然後再寫入結果表。
4.PyFlink優化
創建PyFlink任務時,支持上傳兩種附加文件:
· 第三方Python包:用於上傳在Python環境中未打包或者只是該任務需要使用的Python依賴
· 附加依賴包:如果您的PyFlink作業中使用了Java類,例如作業中使用了Connector或者Java自定義函數時,可以通過這種方式來添加
5.產品首頁改造
對產品首頁進行改造,面向開發和運維人員,增強了首頁可用性。
· 運維指標:全局統計該租戶下的所有任務運行的指標(後續會支持更多指標,支持自定義看板)
· 告警記錄:進入產品就能查看當前收到的所有項目任務的告警信息,快速進入各個項目進行排查
· 表熱度:統計各個項目中,【數據開發-表管理】中定義並被任務使用的Flink表
6.對外輸出任務運行日誌
當客戶需要對任務運行日誌進行深度分析、或者基於日誌內容做些監控告警,可以在【任務開發-任務設置】中打開日誌推送,在模版內容中配置日誌推送的Kafka地址,用戶可以自行消費推送到kafka的日誌內容,進行二次開發。
7.SASL認證的KAFKA在不同Flink版本中的支持
Kafka SASL的認證參數在Flink1.10和Flink1.12中是不一樣的,目前只需要在數據源中心配置統一的參數信息,在任務執行時,系統根據執行的引擎版本在統一參數上自動拼接1.10和1.12不同的參數首碼。
8.Flink1.12適配TBDS
· 實時採集:源表(TBDS_KAFKA)
· FlinkSQL:源表(TBDS_KAFKA)、結果表(TBDS_KAFKA、TBDS_HBASE)、維表(TBDS_HBASE)
9.臟數據管理結果優化
· 刪除臟數據列表中的欄位列,目前技術上無法支持定位到問題欄位
· 優化臟數據詳情的展示內容,列印整行數據,更容易定位問題數據
數據服務平臺
1.產品首頁改造
數據資產平臺
1.數據質量模塊
· 質量關鍵日誌審計,記錄質量相關的關鍵操作,便於查詢與追溯
· 質量規則集導入,規則集中的規則批量統一管理、統一調度規則集是規則的集合,一個規則集可以代表一個業務領域的質量校驗,從而提高效率、方便管理。後續做質量報告也會基於規則集進行統計
2.引導頁功能優化
3.質量概覽頁改造
質量概覽頁改造,配合數棧所有子產品首頁設計風格改造,增強了首頁統一性及美觀性。
4.數據標準映射結果查看及UI優化
客戶數據洞察平臺
1.同步任務可配置環境參數
用戶痛點:不少客戶的Hive至Hbase數據同步任務要運行20多個小時,通過修改同步任務和Hbase的參數可以提高同步的速率。
新增功能說明:支持在任務管理頁面配置數據同步任務的參數,包括任務參數和Hbase參數,且支持用戶添加自定義參數,新增該功能後,用戶可以在產品界面上靈活修改參數信息。
2.生成並下載分析報告
支持生成群組畫像、顯著性分析、對比分析word報告,報告內容包括分析圖以及分析數據。
3.角色許可權點可自由勾選
用戶痛點:每個角色的許可權固定,無法滿足不同客戶對不同角色許可權的需求,支持用戶自由配置角色的許可權才能滿足複雜的許可權場景。
新增功能說明:支持自由配置普通角色的系統許可權。
4.選標簽控制項交互升級
用戶痛點:目前選標簽時會按照類目樹、列表形式展示,標簽展示的位置有限,不利於快速查找標簽。
新增功能說明:標簽根據類目平鋪展示,儘可能多地展示標簽 ,且支持搜索;展示熱門、沉默標簽和我收藏的標簽。
本次對標簽選擇空間做了交互升級,可提高業務人員選擇標簽的效率。
5.支持跨時間分區圈群
用戶痛點:在標簽圈群業務場景中存在跨時間分區圈選用戶的場景,如“活躍度”這個標簽,業務需要圈選出5月2號是“高活躍”、6月2號變成“低活躍”的這批用戶,進行一些激活措施,維持用戶活躍度。
新增功能說明:標簽圈群時,支持用戶選擇某個時間的某個標簽值進行圈群,完成跨時間分區圈群。
6.標簽元數據增加業務口徑、技術口徑欄位
標簽基礎信息中,支持用戶填寫標簽的業務口徑與技術口徑。
7.個體畫像詳情展示形式優化
用戶痛點:實際很多情況下標簽名稱、標簽值比較長,個體畫像頁展示不全,無法一眼看到關鍵信息。
產品體驗優化說明:畫像詳情頁的標簽名稱、標簽值換行展示。
8.自定義標簽
支持用戶自定義上傳內容與標簽大寬表的欄位關聯鍵。
9.其他優化項
·數據安全對接Ranger:底層對接Ranger並適配Trino SSL,可在數據安全產品控制標簽表
· 導出數據受行級許可權控制:群組列表的數據導出也受行級許可權控制,保證許可權的一致性
· Trino對接底層Ranger許可權:在Ranger中,Trino可控製表、欄位的許可權,但不能控制行級許可權,適配Trino SSL
指標管理分析平臺
1.指標結果閾值告警
針對指標計算結果可設置監控告警規則,及時發現指標結果數據的準確性,實時告知接收人。
2.數據模型選擇分區表之後增加分區欄位與日期格式選擇
數據表中存在多個分區的情況,故需要用戶自主選擇,同時針對分區欄位的日期格式做出選擇。
3.指標任務增加任務自身的跨周期依賴
4.指標平臺支持對接Kudu進行數據存儲
指標平臺支持對接Kudu進行數據讀寫,完成指標開發、管理、調度、運維等全生命周期流程。
5.創建項目時,增加選擇API對接HBase數據源欄位
以便用戶在主流程操作下,可以對該項進行設置。
6.頁面上增加圖文說明,幫助用戶理解產品邏輯
· 數據模型增加全量分區、增量分區、拉鏈表、非分區表的圖文解釋說明
· 行級許可權增加靜態行級許可權、動態行級許可權的圖文解釋說明
想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky
同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack