偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

火花思維:從 0 到 1 構建一站式數(shù)據(jù)開發(fā)治理平臺

大數(shù)據(jù)
火花思維作為在線教育領域的佼佼者,深知數(shù)據(jù)對于決策和運營的重要性。為進一步釋放數(shù)據(jù)資源的價值,公司從 0 到 1 構建了一站式數(shù)據(jù)開發(fā)治理平臺,實現(xiàn)了數(shù)據(jù)集成、數(shù)據(jù)開發(fā)、數(shù)據(jù)分析、數(shù)據(jù)服務等全流程整合,為公司的長遠發(fā)展奠定了堅實的數(shù)據(jù)基礎。

一、背景

火花思維是一家專注于青少年思維訓練及綜合素質提升的互聯(lián)網教育企業(yè),產品包含邏輯思維、中文素養(yǎng)、火花編程等。累計學員已超 70 萬,遍布全球 100 多個國家和地區(qū)。其主要采用直播、真人互動 AI 的方式進行授課,通過將老師的啟發(fā)引導和動畫、游戲、趣味教具等多種方式立體結合,將能力、思維、訓練三者互相連接、層層遞進,在互動實踐中培養(yǎng)孩子的觀察思考、邏輯思維以及自主解決問題等核心基礎能力。

圖片

隨著火花思維的業(yè)務發(fā)展,數(shù)據(jù)量和數(shù)據(jù)訴求呈現(xiàn)出爆炸式增長的態(tài)勢。然而數(shù)據(jù)使用與管理模式已逐漸出現(xiàn)捉襟見肘,難以支撐企業(yè)高效運營與決策支持的核心需求。具體而言,當時我們面臨著以下幾大突出問題:

  • 數(shù)據(jù)開放自助程度明顯不足,嚴重制約了數(shù)據(jù)價值的充分釋放。
  • 系統(tǒng)性故障頻發(fā),對數(shù)據(jù)資產的可靠性構成了嚴重挑戰(zhàn)。
  • ETL 效率低下已成為制約數(shù)據(jù)處理能力的關鍵因素。為了解決這些問題,我們需要一個更加高效、智能的數(shù)據(jù)開發(fā)治理平臺,以提升數(shù)據(jù)價值的挖掘能力、保障數(shù)據(jù)資產的可靠性、優(yōu)化數(shù)據(jù)處理效率,并降低技術成本。

在產品建設初期,我們曾考慮過第三方的現(xiàn)有產品。然而,經過深入調研,我們發(fā)現(xiàn)了許多問題,最終決定自主研發(fā)。首先,當時我們發(fā)現(xiàn)市場上的現(xiàn)有產品雖然在基本 SQL 開發(fā)、調度配置、任務運維等方面表現(xiàn)出色,但在異源數(shù)據(jù)集成、DDL 適配、跨云部署等場景存在局限性。其次,我們對第三方產品的迭代速度和穩(wěn)定性存在擔憂。我們需要確保產品能夠滿足公司數(shù)據(jù)生產和消費方對大數(shù)據(jù)的期望,并在使用過程中不會出現(xiàn)重大問題。如果我們純依賴三方產品的方法論以及售后支持和研發(fā)資源,那么會出現(xiàn)“不會用”、“加資源”、“等迭代”等常見矛盾現(xiàn)象。最后,我們認為自主研發(fā)將為我們帶來更多的機遇和優(yōu)勢。通過自主研發(fā),我們可以更好地把控產品的應用場景、功能矩陣和核心技術,以便更好地滿足需求,并根據(jù)需求變化及時進行調整和改進。

二、產品簡介

1. 功能介紹

圖片

Athena 數(shù)據(jù)工廠是火花自研的一站式數(shù)據(jù)開發(fā)治理平臺,主要為運營、BA、產品、研發(fā)、財務、技術支持等多樣化角色提供任務開發(fā)、任務運維、提數(shù)分析、資源管理全方位的產品服務,幫助數(shù)據(jù)生產者和數(shù)據(jù)消費者專注于數(shù)據(jù)價值的挖掘和探索。該平臺核心功能主要包含以下幾個部分:

  • 離線開發(fā)模塊:此模塊致力于為數(shù)據(jù)生產者提供高效的數(shù)據(jù)處理工具。它支持定時及依賴觸發(fā)的離線任務,任務類型豐富,涵蓋 HiveSQL、DorisSQL、Python、Mysql 與 Hive 間的數(shù)據(jù)交互,以及 Hive 至 ES/MQ、Hive 至 Doris 的數(shù)據(jù)同步。此外,我們提供了一鍵 API 生成功能,使得數(shù)據(jù)消費者能夠便捷地通過接口獲取所需數(shù)據(jù),極大地提升了數(shù)據(jù)獲取的效率。
  • 實時開發(fā)模塊:基于 Spark 和 Flink 兩大引擎,我們構建了準實時/實時任務開發(fā)平臺。目前,該平臺已成功支撐運營分析、指標監(jiān)控、日志采集、CDC 同步等多元化場景的需求,為用戶提供實時數(shù)據(jù)處理和分析的能力。
  • 運維中心模塊:在運維方面,我們提供多維度的看板分析,從任務成功率、及時率、成本等多個角度全面展示數(shù)據(jù)處理的狀況。同時,我們還支持上下游查詢、重跑當前及下游、數(shù)據(jù)回溯、批量下線、任務監(jiān)控等基礎功能,確保數(shù)據(jù)處理流程的順暢與高效。
  • 自助提數(shù)模塊:該功能基于 Hive、Spark 和 Presto 三種引擎,為數(shù)據(jù)分析師提供了強大的 SQL 交互能力,使他們能夠輕松地提取和下載所需數(shù)據(jù)。此外,我們還特別針對增長業(yè)務,提供了用戶三方標簽的提取和下載功能,滿足用戶在增長業(yè)務場景下的數(shù)據(jù)需求。
  • 數(shù)據(jù)地圖模塊:數(shù)據(jù)地圖作為平臺的重要組成部分,為用戶提供了詳盡的數(shù)據(jù)資產信息。用戶可以通過該模塊查看數(shù)據(jù)目錄、明細信息、血緣關系、調度信息、更新記錄以及生產邏輯等關鍵信息,從而更好地理解和利用數(shù)據(jù)資源。
  • 控制臺模塊:控制臺作為項目管理員和系統(tǒng)管理員的操作后臺,具備強大的管理功能。管理員可以通過該模塊管理項目成員、數(shù)據(jù)源、庫表權限、隊列分配以及敏感信息查詢記錄等,確保數(shù)據(jù)的安全性和合規(guī)性。

通過該平臺可以輕松地完成數(shù)據(jù)的采集、清洗、加工和分析,提高數(shù)據(jù)的質量和利用率。同時,平臺的可視化操作界面和靈活的配置選項,讓用戶可以快速上手并進行個性化設置。此外,平臺還提供了豐富的數(shù)據(jù)服務和應用,包括用戶標簽、數(shù)據(jù)入湖、數(shù)據(jù)安全等,這些數(shù)據(jù)服務和應用可以幫助企業(yè)更好地利用和管理數(shù)據(jù)資源,提高數(shù)據(jù)的價值和效益。

2. 架構設計

圖片

Athena 數(shù)據(jù)工廠主體架構分為以下幾個模塊:

  • 交互層:采用了主流的 Vue 框架和 Monaco 插件,為用戶提供了簡潔直觀的數(shù)據(jù)探查和任務發(fā)布界面。用戶可以通過簡單的操作,輕松地進行標準化 ETL 流程的定義和執(zhí)行。此外,用戶交互層還提供了豐富的可視化功能,使用戶能夠直觀地監(jiān)控和管理任務的執(zhí)行情況。交互層還支持多語言界面,方便全球用戶使用。
  • 服務層:這些服務包括 SQL 開發(fā)套件、集成調試、依賴推薦、元數(shù)據(jù)管理等。此外,服務層也為各自項目提供了全方位的權限管理和資源管理功能。服務層還提供 API 接口,方便與其他系統(tǒng)進行集成。該層整體采用微服務架構,服務之間的界限和功能清晰,不同模塊不同服務,各自按照需求場景選擇適合的技術棧和擴展應用,同時,獨立部署和運行,這有助于提高開發(fā)部署效率以及系統(tǒng)容錯性。
  • 引擎層:通過對接各種生態(tài)組件,并封裝存儲計算能力,使得上層應用無需關心過多的技術棧和升級優(yōu)化。例如,HiveSql 調試在引擎層既支持 Hive On Tez,也支持 SparkSql,并兼容各自的參數(shù)優(yōu)化。這使得用戶可以靈活地選擇適合自己業(yè)務需求的引擎進行數(shù)據(jù)處理。引擎層還提供了豐富的插件和橫向擴展機制,能夠根據(jù)用戶的需求進行定制化開發(fā)。引擎層還支持多租戶模式,方便多個項目共享數(shù)據(jù)工廠資源。
  • 組件層:數(shù)據(jù)工廠的底層組件包括調度引擎所依賴的 Airflow、Python 引擎依賴的騰訊云 SCF 產品 API 等。這些底層組件為數(shù)據(jù)工廠提供了穩(wěn)定可靠的運行基礎。底層組件還采用了高可用架構,支持容錯處理和數(shù)據(jù)備份,確保數(shù)據(jù)工廠的穩(wěn)定運行。底層組件還支持分布式架構,方便水平擴展和性能提升。

3. 使用場景

圖片

火花思維大數(shù)據(jù)計算鏈路經過多年的發(fā)展和演變,已經形成了 T/H+x、分鐘級、實時和 AI 四種場景的計算鏈路,支撐了多方面的數(shù)據(jù)處理和分析場景。

  • T/H+x鏈路:T/H+x 是行業(yè)通用的離線計算,主要用于離線數(shù)倉、數(shù)據(jù)報表、應用統(tǒng)計等場景。具體實現(xiàn)方式是通過數(shù)據(jù)集成組件定時將 Mysql、日志等數(shù)據(jù)源的數(shù)據(jù)同步到數(shù)倉 ODS 層,其中 80% 的數(shù)據(jù)會被加工成主題寬表,然后被其他數(shù)據(jù)生產者利用,按需構建 ADS 應用數(shù)據(jù),并最終以數(shù)據(jù)庫表、消息隊列或者 API 方式提供數(shù)據(jù)服務。
  • 分鐘級鏈路:分鐘級應用主要針對 OLAP 多維分析場景,通過 FlinkCDC 等方式將數(shù)據(jù)源數(shù)據(jù)同步到 OLAP 引擎,然后逐層定時拉寬聚合,最終以 API 方式對外提供數(shù)據(jù)。早期的 OLAP 引擎主要是 Kudu 和 ClickHouse,現(xiàn)在以 Doris 為主。
  • 實時鏈路:實時計算鏈路主要包括以 Spark Streaming 為核心計算棧的定制化數(shù)據(jù)服務和以 Flink 和 IceBerg 為核心的實時湖倉。其中,Spark Streaming 主要用于歷史遺留的 ToC 數(shù)據(jù)場景,如學員學情報告、CRM 運營數(shù)據(jù)、用戶標簽建設等。而 IceBerg 則主要用于解決實時日志流水鏈路,F(xiàn)link 則既可以用于構建實時數(shù)據(jù)報表,也可以用于運營監(jiān)控統(tǒng)計。
  • AI 鏈路:AI 計算鏈路主要用于訓練和推理模型,包括數(shù)據(jù)預處理、模型訓練、模型評估和模型部署等環(huán)節(jié)。

三、關鍵技術與創(chuàng)新點

1. 離線 ETL

圖片

在離線開發(fā)集成角度,Athena 數(shù)據(jù)工廠提供了豐富的功能,旨在滿足用戶在基礎數(shù)據(jù) ETL 以及分析挖掘領域的多樣化需求。該模塊的核心能力體現(xiàn)在 Hive、Doris、Python 以及與其他組件的集成上,為用戶提供高效、穩(wěn)定且靈活的數(shù)據(jù) ETL 鏈路。

HiveSQL 作為離線開發(fā)任務的重要組成部分,先后經歷從 Hive 1.2 到 Hive 3.1 的版本升級。前期主要依賴 Tez 引擎進行數(shù)據(jù)處理,其中 Tez 0.10 引擎以其更高效的執(zhí)行計劃和資源管理能力,為 HiveSQL 提供了強大的性能支持。隨著大數(shù)據(jù) ServerLess 技術的演進,在 2023 年完全適配了商業(yè)化數(shù)據(jù)湖計算 DLC SparkSQL,基于存算分離的整體架構使得離線 SQL 在大數(shù)據(jù)處理上更加靈活和高效。

Doris 計算也是 Athena 數(shù)據(jù)工廠的一大亮點,其作為一種高性能的分布式 OLAP 引擎,具有快速查詢分析和高并發(fā)等特性。通過集成 Doris 計算,能夠支持用戶對海量數(shù)據(jù)進行分鐘級離線運算分析,借助一鍵 API 功能,滿足 CRM 業(yè)務數(shù)據(jù)時效性的高要求。

Python 作為一種通用編程語言,在數(shù)據(jù)開發(fā)領域也發(fā)揮著重要作用。在 AI 大模型“肆孽”的當下,Athena 選擇 Python 3.10 版本支持用戶編寫離線數(shù)據(jù)處理任務,利用云函數(shù) Python 豐富的庫和 MB 級內存資源管控能力,重點處理 SQL 不易甚至不能解決的場景,實現(xiàn)復雜的數(shù)據(jù)分析和處理邏輯,使得用戶可以更加靈活地處理數(shù)據(jù),提高開發(fā)效率。

在與其他組件的集成方面,比如 Mysql<->Hive 的集成任務,Athena 依賴 Sqoop 集成工具進行數(shù)據(jù)傳輸和同步。我們還通過異步監(jiān)聽 Mysql 的 DDL 變化,實現(xiàn)了數(shù)倉 ODS 層的字段新增、刪除以及 Comment 變化的適配,以及在用戶交互中實現(xiàn)自動建表、字段同名映射等功能。分庫分表合并則利用 CDC 模式實現(xiàn)。對于 Hive 與其他組件的集成,我們則依賴 DataX 這一強大的數(shù)據(jù)交換平臺。DataX 支持多種數(shù)據(jù)源之間的數(shù)據(jù)交換,包括 Hive、ES、MQ 等。目前,為了積極擁抱彈性計算,我們根據(jù)火花數(shù)據(jù)的特有使用場景,通過二次開發(fā)改造 Seatunel,計劃在第二季度徹底替換 Sqoop 和 DataX。

2. 調度系統(tǒng)

圖片

Athena 數(shù)據(jù)工廠的底層調度組件,正是基于業(yè)界知名的 Airflow 2.0 構建而成。Airflow 作為一個靈活且可擴展的分布式工作流調度系統(tǒng),早已在大數(shù)據(jù)領域贏得了廣泛的應用。它不僅能夠高效地調度各種數(shù)據(jù)處理任務,還具備豐富的 API 支持,使得開發(fā)者能夠輕松集成各種功能,滿足復雜的業(yè)務需求。

在我們的調度系統(tǒng)中,除了支持任務啟停、依賴綁定、失敗重試、重跑上下游等基礎功能外,我們還通過深度整合調度系統(tǒng)元數(shù)據(jù)和 Athena 數(shù)據(jù)工廠元數(shù)據(jù),實現(xiàn)了更為精細化的調度管理。這使得我們能夠實時掌握任務的運行狀態(tài),及時發(fā)現(xiàn)并解決問題,確保數(shù)據(jù)處理的穩(wěn)定性和準確性。

3. 實時計算

圖片

Athena 數(shù)據(jù)工廠的實時計算模塊功能主要支持 Spark Jar、Flink Jar 以及 Flink SQL 三種開發(fā)任務。

在 Flink SQL 方面,它已經成為非大數(shù)據(jù)用戶的首選。Flink SQL 以其簡潔易懂的語法和強大的實時處理能力,受到了廣大用戶的青睞。目前,我們的平臺已經支持 Kafka、RocketMQ、Mysql、Doris、Elasticsearch、Hive、Hudi、Iceberg 等眾多 Connector。這些 Connector 的存在,使得 Flink SQL 能夠輕松接入各種數(shù)據(jù)源,實現(xiàn)數(shù)據(jù)的實時采集、處理和輸出。

在 Jar 任務方面,無論是 Spark Jar 還是 Flink Jar,它們都以公司 GitLab 的倉庫地址為基準。這意味著,開發(fā)人員可以將自己的 Jar 包上傳到公司代碼倉庫,并通過Athena 輕松實現(xiàn)打包、部署和運行。這種集成方式不僅提高了開發(fā)效率,還確保了 Jar 包的版本管理和安全性。

今年,我們的實時計算底層也計劃基于 Oceanus 彈性伸縮進行改造。根據(jù)業(yè)務需求的變化,我們可以自動化調整計算資源,實現(xiàn)動態(tài)計算能力的彈性伸縮。通過合理的資源調度和容錯機制,我們能夠確保實時計算任務的穩(wěn)定性和可靠性。

4. 監(jiān)控預警

圖片

在任務級別的監(jiān)控方面,Athena 數(shù)據(jù)工廠能夠實時監(jiān)控任務的執(zhí)行狀態(tài),包括是否成功、失敗或超時。這些監(jiān)控項是確保任務穩(wěn)定運行的關鍵指標。一旦任務失敗或超時,平臺會立即觸發(fā)預警機制,通過飛書群或飛書個人等方式通知相關人員,以便及時介入處理。

除了任務級別的監(jiān)控,Athena 數(shù)據(jù)工廠還提供了表級別的監(jiān)控功能。這包括主鍵唯一性檢查、雙端對比以及表行數(shù)校驗等。主鍵唯一性檢查能夠確保表中數(shù)據(jù)的唯一性,防止重復數(shù)據(jù)的出現(xiàn);雙端對比則能夠對不同數(shù)據(jù)源之間的數(shù)據(jù)進行比對,確保數(shù)據(jù)的一致性;表行數(shù)校驗則可以檢查表中數(shù)據(jù)的數(shù)量是否正確,防止數(shù)據(jù)丟失或異常增多。這些表級別的監(jiān)控項能夠全面保障數(shù)據(jù)的質量和準確性。此外,Athena 數(shù)據(jù)工廠還支持字段級別的監(jiān)控。這包括空值檢查、異常值監(jiān)控、求和、均值、極值等。空值檢查能夠發(fā)現(xiàn)數(shù)據(jù)中的缺失值,確保數(shù)據(jù)的完整性;異常值監(jiān)控則可以識別并報警異常數(shù)據(jù),防止其對后續(xù)分析造成影響;求和、均值和極值等統(tǒng)計指標則能夠幫助我們了解數(shù)據(jù)的分布情況,為后續(xù)的數(shù)據(jù)處理和分析提供重要參考。

Athena 數(shù)據(jù)工廠的監(jiān)控程序與監(jiān)控任務是緊密綁定的。這種一體化的設計不僅方便了用戶對監(jiān)控任務的管理和維護,還能夠實現(xiàn)任務與監(jiān)控的成本核算。通過監(jiān)控程序,我們可以清晰了解每個監(jiān)控任務的資源消耗情況,為成本控制和資源優(yōu)化提供了有力支持。

四、實施與運營

1. 演進歷程

圖片

Athena 數(shù)據(jù)工廠于 2021 年底正常上線,初期目標就是將以 Azkaban 和 Crontab 上的 HiveSQl 和 Sqoop 腳本全部遷移至數(shù)據(jù)工廠,讓數(shù)據(jù)倉庫、數(shù)據(jù)服務和 BA 自助的腳本能夠在各自項目空間下有序地依賴執(zhí)行。

  • 2021 年 11 月,Athena 數(shù)據(jù)工廠邁出了堅實的第一步,v1.0 版本的上線標志著它正式踏入數(shù)據(jù)開發(fā)領域。這個版本以離線開發(fā)、調度配置、任務運維三大核心功能為基礎,為用戶提供了穩(wěn)定可靠的數(shù)據(jù)開發(fā)平臺。
  • 僅僅三個月后,2022 年 2 月,我們成功完成了數(shù)據(jù)倉庫的 HiveSQL 和 mysql<->hive 相關任務的全量遷移,這標志著 Athena 數(shù)據(jù)工廠在支撐火花思維基礎數(shù)據(jù)處理能力上邁出了重要的一步。
  • 同年 4 月,我們又實現(xiàn)了 Hadoop 集群從依賴社區(qū)自建到商業(yè)化 EMR 的順利遷移,這一變革極大地提升了基礎組件的穩(wěn)定性和性能。
  • 2022 年 7 月,Athena 數(shù)據(jù)工廠再次迎來重大更新,新增了 Doris 引擎和 SparkSQL 引擎,為用戶提供了更多樣化的數(shù)據(jù)處理引擎的選擇。此外,上線一鍵 API 生成功能,方便數(shù)據(jù)生產者通過 API 通道分享數(shù)據(jù)。
  • 同年 10 月,我們整合了原《大數(shù)據(jù)實時開發(fā)平臺》至 Athena 數(shù)據(jù)工廠,構建了獨立的實時開發(fā)模塊,以滿足用戶對于實時數(shù)據(jù)處理的需求。
  • 進入 2023 年,Athena 數(shù)據(jù)工廠的迭代速度更是加快。3 月實現(xiàn)表級別血緣關系解析以及整合公司 GitLab 實現(xiàn)版本管理,并基于此上線依賴推薦、跨周期依賴、數(shù)據(jù)回溯、BI 建模血緣跟蹤等輔助開發(fā)能力。
  • 6 月,成功實現(xiàn)了離線開發(fā)和自主提數(shù)的 SQL 引擎對商業(yè)化 ServerLess 的適配,進一步提升了數(shù)據(jù)處理效率。
  • 8 月推出了字段級血緣關系以及數(shù)據(jù)監(jiān)控功能,為用戶提供了更加精細化的數(shù)據(jù)管理和質量保證。同時,基于 HiveMeta 實現(xiàn)表資產生命周期治理能力。
  • 2023 年 11 月,基于騰訊云云函數(shù)產品,我們推出了 Python 開發(fā)模塊,為 BA、算法、研發(fā)等角色提供了解決 SQL 無法實現(xiàn)或較難實現(xiàn)場景的全新功能。
  • 到了 2024 年 1 月,我們再次進行了一次重大的技術革新,適配 Hdfs 遷移至 COS,實現(xiàn)了用戶無感的存算分離,為各項目空間提供了更加靈活和高效的數(shù)據(jù)存儲和計算服務。

2. 日常運營

圖片

Athena 數(shù)據(jù)工廠的日常運營在 2023 年 3 月前后經歷了兩個階段,每個階段都有其獨特的運營策略與特點。在 2023 年 3 月之前,我們采用的是項目制的運營模式。每個項目都建立了專門的運營群,并配備了專業(yè)的運營人員。這些運營人員不僅具備豐富的數(shù)據(jù)開發(fā)經驗和深厚的技術功底,還擅長與用戶溝通,能夠迅速把握用戶需求并提供相應的解決方案。他們會在群里積極回答用戶的問題,提供細致的解答和培訓,確保用戶能夠順利使用我們的產品。同時,他們還會根據(jù)用戶的反饋和需求,不斷優(yōu)化我們的產品和服務,持續(xù)提升用戶體驗。

然而,隨著用戶數(shù)量的不斷增加和項目規(guī)模的擴大,我們意識到這種項目制的運營模式存在一些問題。比如,不同項目之間的信息交流不暢,導致一些共性問題無法得到及時解決;同時,運營人員的工作負擔也逐漸加重,難以保證服務質量和效率。因此,在 2023 年 3 月之后,我們對產品運營模式進行了調整,建立了《大數(shù)據(jù)服務中心》千人話題群。該話題群將所有用戶集中在一起,方便他們之間的交流和互動。同時,我們實施了輪崗機制,由 Athena 數(shù)據(jù)工廠的產品、研發(fā)、測試多方人員輪流擔任值班人員,負責解答群內用戶的問題,不僅提高了服務效率,還確保了問題的專業(yè)性和準確性。為了確保值班人員能夠準時上線并積極參與群聊,我們還引入了機器人提醒功能。機器人會在每天下午 18 點定時提醒值班人員上線,并在群里積極回答用戶的問題。通過這種方式,我們確保了服務的及時性和連續(xù)性。

五、成效與收獲

1. 釋放自助能力

圖片

我們一直秉持著“生產力改變生產關系”的原則,致力于提供便捷、高效的數(shù)據(jù)開發(fā)工具和服務,幫助公司各部門、各角色更加自主地開展數(shù)據(jù)分析和應用,實現(xiàn)公司數(shù)據(jù)自助開放的整體策略目標緊密相連。

從數(shù)據(jù)層面來看,Athena 數(shù)據(jù)工廠每日承載的離線任務運行實例數(shù)量已達到約2 萬個,它表明我們的平臺已經能夠穩(wěn)定、高效地處理大量的數(shù)據(jù)任務,為公司的數(shù)據(jù)分析和應用提供了強有力的支持。同時,內部用戶數(shù)量也達到了約 470 人,MAU 約 130,這說明已經得到了廣泛的認可和使用。由 BA、運營、產品、研發(fā)等非大數(shù)據(jù)角色發(fā)起的新增任務占比高達 92%。這一數(shù)據(jù)不僅凸顯了 Athena 數(shù)據(jù)工廠在跨角色數(shù)據(jù)開發(fā)方面的廣泛應用,更體現(xiàn)了平臺在推動公司內部數(shù)據(jù)自主開放方面的卓越成效。

具體來說,僅在 2023 年非大數(shù)據(jù)角色通過 Athena 數(shù)據(jù)工廠新增的任務數(shù)量就達到了 2700+ 個(忽略數(shù)據(jù)資產生命周期治理)。從更宏觀的視角來看,結合數(shù)據(jù)需求迭代頻率,Athena 數(shù)據(jù)工廠實際上在 2023 年支撐了公司內部的 3000+ 個數(shù)據(jù)需求。這意味著,Athena 數(shù)據(jù)工廠已改變公司數(shù)據(jù)訴求供需關系,為增長和變化預留了足夠的空間,更為公司提供了一個穩(wěn)定、可靠的數(shù)據(jù)基礎設施,使得公司能夠更加自信地面對未來的數(shù)據(jù)挑戰(zhàn),實現(xiàn)數(shù)據(jù)價值最大化。

2. 提升可靠性

圖片

  • 事前檢查:在任務上線之前,Athena 數(shù)據(jù)工廠會進行強邏輯的檢查,以確保數(shù)據(jù)任務的穩(wěn)定、正確產出。這些檢查規(guī)則包括腳本語法、調度配置、資源權限等多方面的檢查,可以避免數(shù)據(jù)上線后出現(xiàn)錯誤和異常,從根本上降低值班人員起夜率。
  • 事中預警:在數(shù)據(jù)生產和消費過程中,平臺會進行實時監(jiān)控,并提供豐富的預警機制。當數(shù)據(jù)出現(xiàn)異?;蜻_到預警閾值時,平臺會及時發(fā)出預警信號,通知相關人員進行處理。這樣就可以及時發(fā)現(xiàn)和解決數(shù)據(jù)異常,避免數(shù)據(jù)丟失和錯誤,保證數(shù)據(jù)的可靠性和穩(wěn)定性。
  • 事后復盤:故障發(fā)生后,QA 同學利用 GPT 依據(jù) 5why 分析法構建了復盤機器人,帶領故障干洗人對 SLA 問題進行深度引導分析,找到根本解決方法,并預防類似問題的再次發(fā)生。

3. 優(yōu)化 ETL 效率

圖片

自從調度任務遷移至 Athena 數(shù)據(jù)工廠后,通過分析 ETL 任務的執(zhí)行數(shù)據(jù),從多方面提升了整體運行性能,天調度 SQL 任務 24 年 3 月同比 23 年 3 月增加 107%,單平均任務運行時長降低 48%。這主要得益于三個方面的改進:

  • DAG 優(yōu)化:首先,通過分析 Airflow 節(jié)點資源利用率,結合各類型任務 Client 執(zhí)行所需的 CPU 和內存資源,合理分配整體 Pool 和 Worker Pool 的閾值,實現(xiàn)執(zhí)行節(jié)點任務吞吐最大化。其次,由于各類型 DAG 運行周期交叉,最典型的就是天調度 DAG 與零散 DAG 的交叉,會發(fā)生調度資源、算力資源甚至 IO 資源競搶,通過分析統(tǒng)計各 DAG 任務重要性和影響度,以及任務特征,合理分配各DAG 的 Pool 大小,實現(xiàn)整體資源利用最大化。最后,根據(jù)單 DAG 上依賴模型和各任務自身特點,動態(tài)調整各 SLA 等級的任務權重,讓重依賴、重保障的任務盡早運行,從而實現(xiàn)更高效的任務執(zhí)行。
  • 慢任務優(yōu)化:治理團隊投入最大的精力就是識別優(yōu)化慢 SQL,而慢 SQL 最常見的場景就是兩種:(1)數(shù)據(jù)掃描量大,要么忘記加分區(qū)限制要么讀取分區(qū)太多;(2)通常是嵌套 With as 較多臨時查詢的任務,導致解析計劃中某一個或幾個Reduce 卡住,但寫 SQL 的人員優(yōu)先滿足計算口徑,而忽略數(shù)據(jù)傾斜或笛卡爾問題。由于目前底層 SQL 算力引擎已彈性,故在基線保障和成本控制的背景下,優(yōu)先解決慢任務是效果最佳的治理手段,也是持續(xù)保障任務平均執(zhí)行效率和性能的最佳實踐。
  • 組件優(yōu)化:無論是 SQL 任務或是集成任務,都會依賴其他組件,而很多時候,隨著數(shù)據(jù)量或讀寫壓力的增加,組件出現(xiàn)性能瓶頸,而在任務角度觀察是整體運行變慢或夯死,這時候就可以通過多維分析任務運行數(shù)據(jù),觀測拐點的任務特征,結合干系組件的性能監(jiān)控波動,識別并對癥下藥。例如:JournalNode、RDBS 以及磁盤故障等。

4. 降低成本

圖片

Athena 數(shù)據(jù)工廠通過底層技術的優(yōu)化進一步降低了綜合技術成本。近兩年,我們將hive 底層引擎先進行了 tez 升級后切換至 Spark,存儲從 HDFS 遷移到 COS,今年3 月天調度單任務計算成本同比去年降低 29%。而這些切換過程中,我們充分利用了 Athena 數(shù)據(jù)工廠對底層的隔離和封裝能力,降低技術升級對用戶的影響,甚至部分遷移工作對用戶無感。

在 Athena 數(shù)據(jù)工廠上線前,BA 和研發(fā)人員面臨著繁瑣且耗時的數(shù)據(jù)任務上線發(fā)布流程。他們需要通過一套基礎配置工具,歷經八個步驟才能完成整個操作。這包括編寫配置文件和 SQL、上傳代碼、配置依賴、構建任務、部署任務和發(fā)布任務等。每一步都需要手動操作,稍有不慎就可能導致錯誤或異常情況,進一步增加了解決問題的難度和時間成本。然而,使用 Athena 數(shù)據(jù)工廠后,這一切得到了徹底的改變。據(jù)調查統(tǒng)計,每個數(shù)據(jù)任務的上線發(fā)布過程至少可以節(jié)省 3 小時以上的時間。

六、總結與展望

1. 經驗教訓

在 Athena 數(shù)據(jù)工廠構建過程中,我們積累了許多寶貴的經驗教訓。以下是一些關鍵的點:

  • 注重目標用戶體驗:我們深刻認識到用戶體驗是平臺成功的關鍵因素。在平臺建設前期,團隊投入了大量的時間與精力,組織數(shù)次產品 MVP 功能調研問卷,對目標用戶群體進行了深入的調研,明確了他們的需求和期望。這不僅幫助我們確定了平臺需要實現(xiàn)的核心功能,還讓我們能夠避免在設計過程中添加不必要的功能和復雜性,確保平臺始終保持簡潔、直觀和易于使用的特性。此外,為了進一步優(yōu)化用戶體驗,產品上線首年每月進行 Top3 用戶測試和反饋收集,傾聽用戶的聲音,并根據(jù)他們的反饋對平臺進行了持續(xù)改進。
  • 選擇合適的技術棧:選擇合適的技術棧對于平臺的成功同樣至關重要。在選擇技術棧時,我們充分考慮了平臺規(guī)模、性能需求、可擴展性以及維護成本等因素。我們進行了深入的技術調研和評估,與業(yè)內專家進行了充分的溝通和交流,最終選擇了既符合平臺需求又具有前瞻性的技術組合。
  • 構建可擴展的架構:在構建平臺的過程中,我們還特別注重架構的可擴展性。我們深知,隨著業(yè)務的發(fā)展和數(shù)據(jù)的增長,平臺的架構必須能夠輕松應對未來的挑戰(zhàn)。因此,我們采用了分布式系統(tǒng)、微服務架構等技術手段,確保平臺能夠靈活地擴展和適應新的需求。這種可擴展的架構不僅提高了平臺的性能和穩(wěn)定性,還為我們后續(xù)的維護和升級帶來了極大的便利。
  • 學習和不斷改進:產品構建是一個不斷學習和改進的過程。在產品的開發(fā)、測試、上線和運營等各個階段,我們都保持高度的敏感性和警覺性,不斷反思和評估平臺的性能、用戶需求反饋。雖然我們暫未建立成熟的“數(shù)據(jù)飛輪”,但積極收集和分析數(shù)據(jù),通過數(shù)據(jù)驅動的方式發(fā)現(xiàn)平臺存在的問題和不足,并制定相應的改進措施。這種持續(xù)改進的態(tài)度不僅幫助我們不斷優(yōu)化平臺的功能和用戶體驗,還讓我們能夠緊跟行業(yè)發(fā)展的步伐,保持平臺的競爭力和創(chuàng)新性。

2. 未來迭代

  • 對于用戶自助開發(fā)過程中的代碼調試和報錯任務,提供基于 AI 的分析協(xié)助能力。利用大語言模型,我們能夠快速準確地理解用戶的問題,并提供有針對性的解決方案。這種智能化的分析協(xié)助能力不僅可以提高用戶的工作效率,還可以減少用戶的焦慮和壓力,提升他們的使用體驗。
  • 優(yōu)化可觀測能力,解決大任務等對穩(wěn)定性和性能帶來的系統(tǒng)性負面影響。持續(xù)評估和優(yōu)化計算資源的性能,確保它們在處理大量數(shù)據(jù)時高效運行。定期進行基準測試和性能評估,以確定計算資源的瓶頸和潛在優(yōu)化機會。利用性能監(jiān)控工具和指標來實時監(jiān)測計算資源的使用情況,并及時采取措施解決性能問題。同時,優(yōu)化計算資源的配置,例如調整 CPU、內存、存儲等參數(shù),以提高資源利用率和性能。
  • 將核心功能和底層引擎容器化,這樣可以實現(xiàn)資源的動態(tài)分配和管理,提高系統(tǒng)的靈活性和可擴展性。同時,可以更輕松地部署和管理應用程序,提高資源利用率和效率,降低成本,并確保系統(tǒng)的穩(wěn)定性和可靠性。同時,要開始在架構層次思考低成本支持跨平臺和云原生應用,這可以提高系統(tǒng)的靈活性和可擴展性,同時降低開發(fā)和維護成本。

結語:通過對一站式數(shù)據(jù)開發(fā)治理平臺的構建與實踐,火花思維成功提升了數(shù)據(jù)管理效率,優(yōu)化了數(shù)據(jù)利用價值,為公司發(fā)展注入了新的活力。未來,隨著技術的不斷進步和業(yè)務的持續(xù)拓展,公司將繼續(xù)深化數(shù)據(jù)治理與開發(fā)工作,為在線教育行業(yè)數(shù)據(jù)驅動的創(chuàng)新發(fā)展貢獻更多力量。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2022-12-23 09:04:33

字節(jié)跳動數(shù)據(jù)治理架構

2021-06-11 13:56:27

大數(shù)據(jù)DataWorks數(shù)據(jù)開發(fā)

2022-06-16 11:18:45

實踐構建開發(fā)

2023-10-26 06:59:58

FinOps云原生

2021-07-27 16:02:40

云原生數(shù)據(jù)庫阿里云

2021-12-07 10:04:34

Azure Kuber場景應用

2013-10-24 17:35:01

云網絡H3C電子政務

2021-08-06 09:33:57

數(shù)據(jù)湖DLF DDI

2014-01-13 09:00:54

PythonDjango

2023-04-25 16:30:58

設備開發(fā)鴻蒙

2018-10-17 11:15:02

云交換平臺

2016-11-01 11:54:26

BI大數(shù)據(jù)

2016-11-02 11:58:06

大數(shù)據(jù)BI

2022-12-21 18:31:00

游戲開發(fā)鴻蒙

2017-02-23 16:07:59

網易

2018-12-15 13:23:44

騰訊云開發(fā)者平臺云端

2009-05-13 19:30:20

華碩郵件服務器MASP

2024-08-19 09:05:00

Seata分布式事務

2021-03-16 17:51:03

戴爾

2023-07-19 18:58:45

Noodle開源
點贊
收藏

51CTO技術棧公眾號