數據開發提效有秘訣!離線開發BatchWorks 六大典型場景拆解

来源:https://www.cnblogs.com/DTinsight/archive/2023/04/12/17308958.html
-Advertisement-
Play Games

回顧大數據的發展歷程,一句話概括就是海量數據的高效處理。在當今快節奏、不斷變化的市場環境下,優秀的開發效率已經成為企業數字化轉型的必備條件。 數棧離線開發BatchWorks 是一款專註離線數據ELT開發的產品,採用先進的大數據生態底層技術,具備高性能且功能豐富的大數據處理能力,對大數據離線計算、數 ...


回顧大數據的發展歷程,一句話概括就是海量數據的高效處理。在當今快節奏、不斷變化的市場環境下,優秀的開發效率已經成為企業數字化轉型的必備條件。

數棧離線開發BatchWorks 是一款專註離線數據ELT開發的產品,採用先進的大數據生態底層技術,具備高性能且功能豐富的大數據處理能力,對大數據離線計算、數據倉庫建設提供有效支撐,是企業建設數據中台、數據倉庫,加速數字化轉型的基礎設施。

BatchWorks 經過6年多的打磨已經服務於包括金融、教育、政企、零售等多個行業在內的300+客戶,在開發效率提升方面發揮了巨大的價值。本文將從多個項目實施過程中遇到的6個典型場景來介紹一下離線開發BatchWorks 在開發效率提升上的一些解決方案,與大家共同探討。

場景一:大批量數據快速遷移

問:客戶數倉計劃從 Oracle 遷移到 Hadoop,初始化需要完成幾萬張表的數據同步,如何快速進行大批量 hive 表的創建並做數據抽取?

答:BatchWorks 支持連接數據源進行關係型資料庫到包括 Hive 在內的多目標資料庫之間的整庫同步,可一次性完成大批量表的自動創建和同步任務的生成,支持按日期增量和全量兩種數據同步方式。考慮到同一時間點啟動大量數據同步任務會造成資料庫壓力過大,還可支持任務併發數的配置。

file

場景二:SQL 邏輯的復用和批量管理

問:一條業務線上有20+產品,每個產品的數據分析由一個 SQL 任務完成,所有產品的任務邏輯完全一致且需要保持變更同步,而實際業務在快速變化,數據開發每次調整業務邏輯都需要每個 SQL 任務分別手動變更,經常出現調整錯漏的情況,如何解決?

答:增加“組件”功能,用戶可把在大量任務中通用的業務 SQL 邏輯抽象出來作為組件進行維護,不同的產品只需引用組件並配置輸入輸出表和字元參數,即可快速完成任務配置。當業務變更時只要調整組件的邏輯就能實現所有引用此組件任務的同步變更

一個簡單例子:業務方需要對不同產品的用戶群體做年齡分層,可創建組件做年齡篩選,配置以下輸入輸出參數:

• 輸入參數:數據來源表

• 輸出參數:年齡層中的最大最小值(字元串)、數據輸出表

file
實現從產品1中篩選出年齡為20-30的用戶數據,在創建任務時選擇上述組件配置年齡輸入參數和數據來源表,並指定寫入的結果表:

file

場景三:計算結果跨任務復用

問:任務存在上下游依賴時,下游任務可能需要直接使用上游部分任務的計算結果,同時用戶不希望建太多臨時表,或產生一些額外的重覆計算,如何解決?

答:BatchWorks 支持了任務上下游參數傳遞功能,上游任務的計算結果可進行周期性存儲,直接被下游計算引用。

一個簡單例子:從業務庫完成銷售明細表數據採集清洗,按天彙總後將銷售金額最高的門店數據輸出 sales_1d 任務,從 sales_details 中通過輸入參數獲取日期數據,然後將當天最高銷售數據對應的門店通過輸出參數輸出傳遞至下游的同步任務,同步任務篩選此門店數據同步至 oceanbase。

file
file

場景四:任務依賴自動解析

問:當任務較多且依賴關係複雜時,依賴關係的配置會占用一定的工作量,尤其在對任務做了修改後,依賴關係可能會有更新不及時/漏更新的情況,發現問題時往往已經到了下游環節,如何解決?

答:BatchWorks 支持了上游任務依賴自動解析推薦/自動依賴功能,選擇此功能進行依賴任務配置時,平臺將對當前任務進行 SQL 解析,得到來源表和結果表,並尋找來源表的產出任務,用戶可從這些推薦任務里選擇全部或部分任務添加到上游依賴,也可直接選擇自動依賴,當 SQL 調整時自動進行上游依賴的更新。

file

場景五:任務異常快速排查

問:離線實例的運行流程涉及實例上游依賴檢查、到達計劃時間檢查、資源檢查、質量校驗等多個環節,運行過程出現異常時僅通過日誌難以直觀地進行問題溯源,問題處理不及時直接影響下游業務,如何解決?

答:BatchWorks 支持實例診斷功能對實例的運行過程進行分析,將實例調度流程及每個流程當前的狀態、節點時間全部展示,用戶可直觀地看到當前實例的運行階段和異常原因。

比如在進行上游依賴異常檢查時,BatchWorks 將構建以當前實例為末位節點的異常依賴樹,尋找直接導致其未運行的根源任務組,快速直達阻塞點。此外針對 SparkSQL,可監控其指標健康狀況並給出調參建議,針對 HiveSQL 可觀測運行過程中資源使用變化情況,從而可進一步進行任務調優。

file
file

場景六:以用戶組為單位的用戶管理

問:某公司的數據開發團隊不定期會有一些人員調整,因業務量大、開發項目比較多,人員調整後開發平臺上的維護十分繁瑣。例如有新員工入職,需要將其添加到相關的多個開發項目中並賦予不同的角色,任務告警值班時需要添加進對應的告警規則中等等,增加管理員的用戶管理成本且容易缺漏,如何解決?

答:BatchWorks 的用戶中心支持以用戶組為單位的用戶管理,每個用戶可被添加進一個或多個用戶組。項目添加用戶、告警圈選用戶時均可以用戶組的方式進行配置。後續增刪用戶時僅需在用戶中心的用戶組內進行操作,即可完成人員->項目/角色等的快速調整。

file

《數據治理行業實踐白皮書》下載地址:https://fs80.cn/380a4b

想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky

同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • DROP TABLE IF EXISTS qrtz_blob_triggers; DROP TABLE IF EXISTS qrtz_calendars; DROP TABLE IF EXISTS qrtz_cron_triggers; DROP TABLE IF EXISTS qrtz_fired ...
  • 鎖屏面試題百日百刷,每個工作日堅持更新面試題。請看到最後就能獲取你想要的,接下來的是今日的面試題: 1.解釋一下,在數據製作過程中,你如何能從Kafka得到準確的信息? 在數據中,為了精確地獲得Kafka的消息,你必須遵循兩件事: 在數據消耗期間避免重覆,在數據生產過程中避免重覆。 這裡有兩種方法, ...
  • 1. 背景 已知數據集為: 目的: 計算每個uid的連續活躍天數,並且每一段活躍期內的開始時間和結束時間 2. 步驟 第一步:處理數據集 處理數據集,使其滿足每個uid每個日期只有一條數據。 第二步:以uid為主鍵,按照日期進行排序,計算row_number. SELECT uid ,`徵信查詢日期 ...
  • 一、概述 XGBoost是一種基於決策樹的集成學習演算法,它在處理結構化數據方面表現優異。相比其他演算法,XGBoost能夠處理大量特征和樣本,並且支持通過正則化控制模型的複雜度。XGBoost也可以自動進行特征選擇並對缺失值進行處理。 二、代碼實現步驟 1、導入相關庫 import org.apach ...
  • 一、貝葉斯定理 貝葉斯定理是關於隨機事件A和B的條件概率,生活中,我們可能很容易知道P(A|B),但是我需要求解P(B|A),學習了貝葉斯定理,就可以解決這類問題,計算公式如下: P(A)是A的先驗概率 P(B)是B的先驗概率 P(A|B)是A的後驗概率(已經知道B發生過了) P(B|A)是B的後驗 ...
  • 數據開發基本都是從陌生到熟悉,但是寫多了就會發現各種好用的工具/函數,也會發現各種坑,本文分享了作者從拿到數據到數據開發到數據監控的一些實操經驗。 ...
  • 摘要:對於資料庫來說,性能一直被視為最關鍵的部分。GaussDB作為華為自主創新研發的分散式關係型資料庫,那麼華為雲資料庫GaussDB在提升資料庫性能方面都有哪些黑科技呢? 本文分享自華為雲社區《【雲圖說】第275期 雲資料庫GaussDB如何做到卓越性能》,作者:閱識風雲。 對於資料庫來說,性能 ...
  • ☞ 商品介面的定義 價格、庫存量、發貨地點等。此外,它還可以提供商品的詳細信息,包括商品的圖片、詳細描述、規格參數、售後服務等。這些信息可以幫助用戶更好地瞭解商品,從而更好地選擇商品。 其次,電商平臺商品詳情介面的實現原理是基於RESTful API。RESTful API是一種基於HTTP協議的A ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...