自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

一、背景

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

圖片

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

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

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

二、產(chǎn)品簡介

1. 功能介紹

圖片

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

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

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

2. 架構(gòu)設(shè)計

圖片

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

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

3. 使用場景

圖片

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

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

三、關(guān)鍵技術(shù)與創(chuàng)新點

1. 離線 ETL

圖片

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

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

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

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

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

2. 調(diào)度系統(tǒng)

圖片

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

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

3. 實時計算

圖片

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

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

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

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

4. 監(jiān)控預(yù)警

圖片

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

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

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

四、實施與運(yùn)營

1. 演進(jìn)歷程

圖片

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

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

2. 日常運(yùn)營

圖片

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

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

五、成效與收獲

1. 釋放自助能力

圖片

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

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

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

2. 提升可靠性

圖片

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

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

圖片

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

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

4. 降低成本

圖片

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

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

六、總結(jié)與展望

1. 經(jīng)驗教訓(xùn)

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

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

2. 未來迭代

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

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

責(zé)任編輯:姜華 來源: DataFunTalk
相關(guān)推薦

2022-06-16 11:18:45

實踐構(gòu)建開發(fā)

2021-06-11 13:56:27

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

2022-12-23 09:04:33

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

2023-10-26 06:59:58

FinOps云原生

2013-10-24 17:35:01

云網(wǎng)絡(luò)H3C電子政務(wù)

2021-12-07 10:04:34

Azure Kuber場景應(yīng)用

2021-07-27 16:02:40

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

2023-04-25 16:30:58

設(shè)備開發(fā)鴻蒙

2021-08-06 09:33:57

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

2016-11-02 11:58:06

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

2014-01-13 09:00:54

PythonDjango

2018-10-17 11:15:02

云交換平臺

2016-11-01 11:54:26

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

2017-02-23 16:07:59

網(wǎng)易

2023-07-19 18:58:45

Noodle開源

2021-03-16 17:51:03

戴爾

2023-06-21 08:34:49

2018-12-15 13:23:44

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

2022-12-21 18:31:00

游戲開發(fā)鴻蒙

2009-05-13 19:30:20

華碩郵件服務(wù)器MASP
點贊
收藏

51CTO技術(shù)棧公眾號