教育大資料之資料開發系統

qing_yun發表於2022-09-09

上回說到,領導讓我搞大資料平臺,歷時2個月終於刷過了“資料整合”這個副本,雖然通關評價只得了1星,但至少已完成任務,後續有時間和精力再對資料整合進行重刷,爭取把評價刷到3星。

此刻站在第二個副本的門口我茫然了,資料開發是個什麼東西,聽起來技術含量很高,我這個產品經理怕是搞不定啊,跟領導反饋之後,領導來了句“現在只有你啊,其他人更不懂了”。好吧,我這是“託孤大臣”啊(裂開)……

01、什麼是資料開發?

翻閱了很多資料,大多都在講大資料開發這個崗位,包含這個崗位是做什麼的,有哪些技術需要掌握等等。從大資料開發的工作內容來看大資料開發主要負責大資料探勘、資料清洗、資料建模等。

根據大資料開發的工作崗位大概推算一下,資料開發系統大概提供的個人能力就是資料探勘、資料計算和資料建模;抱著這個想法我找到公司的研發大佬進行求證和學習,最後總結資料開發系統的定義為:基於大資料基礎平臺的資料資源和計算儲存能力,結合服務資源層的各類後臺服務,可以為後續各類大資料應用的開發提供一站式資料開發系統。

通俗講,資料開發系統就是對有效整合的資料進行預處理、儲存、訓練、計算、挖掘,透過資料分析獲取有效的結論,推送給前端業務系統,從而幫助使用者挖掘資料潛在的業務價值。接上篇文章來說,就是所有的糧食透過管道(資料整合系統)接入到我們系統中了,接下來需要熬粥了,至於熬什麼粥、怎麼熬,需要有個工具來提供服務,此時資料開發系統就應運而生了,透過資料開發系統可以對所有接入的資料進行各種計算、挖掘,來得到目標資料。

02、為什麼需要資料開發系統?

(1)提供一站式資料開發

教育大資料覆蓋眾多業務場景,如果每個業務場景都進行叢集的搭建和後續的運維,需要消耗大量的人力,透過資料開發系統,資料工程師可以將原始資料轉變為具有洞察的海量業務資料能力的應用服務,而無需關心叢集的搭建和運維。資料開發系統支援多種型別的離線ETL任務(例如HiveSQL、MapReduce、Shell等)的開發、運維、監控、以及強大的離線計算任務排程功能,為使用者提供離線資料計算任務的協同開發服務。

(2)教育大資料本身特性

藉助分散式平臺解決教育多源鬆散資料的建模和儲存,滿足教育碰撞的效能要求,同時協同教育理論透過資料科學來幫助學校提供更多的資訊,回答更高階的問題:學生學習行為分析、考試結果挖掘、教師教學特徵等。

03、資料開發系統的特點是什麼?

(1)多平臺協作,獲取資料來源

支援使用者上傳本地資料,自定義資料來源新增和申請系統管理釋出的共享資料。

(2)計算任務是開發平臺的核心模組

整個系統是一個以集中排程管理監控為中心,以任務為基礎的架構。系統透過制定任務開發設計規範,實現計算任務的集中排程和監控,從而使得分散管理的、多種型別的計算任務可以實現集中的統一的角度和監控,大大簡化任務管理工作負擔;支援離線、實時任務執行。

(3)計算任務編輯器

系統基於“系統元件化、功能模組化、引數配置化和資訊服務化”的思想開發;支援透過視覺化介面建立模型訓練和計算任務,獲取模型分析預測結果,可自定義拖拽相關控制元件在工作區建立計算工作流程,操作方便快捷。

(4)豐富的演算法庫和預處理元件

提供多種內建演算法和資料預處理元件(資料整合系統的預處理就是呼叫這裡的能力);模型演算法至少支援決策樹、隨機森林、貝葉斯等,並支援使用者上傳自定義演算法。

04、資料開發系統怎麼做?

4.1 資料開發系統資料流轉

資料開發系採用流程化進行開發,共計包含3個步驟:

(1)新增資料來源

資料來源包含傳統的MYSQL資料、NoSQL資料以及使用者自己上傳的私有資料,可以透過基礎控制元件庫中的源節點進行選擇;

(2)資料處理

整個資料處理階段,包含資料收集與儲存、資料分析與處理以及資料提取;透過資料的相關處理過程生成對應的計算結果集;要透過基礎控制元件庫中的欄位節點以及模型控制元件庫完成;

(3)構建服務

資料服務主要是透過資料服務、頁面服務對外提供模型服務支撐,在整個服務過程中,會將服務建立到公共基礎支撐的服務匯流排上,為每一個服務建立一個私有資料服務介面,使用者可以直接在使用私有資料服務介面進行資訊的呼叫。

4.2 資料開發系統功能結構

4.3 功能介紹

4.3.1 系統管理

系統管理主要提供基礎資訊維護,包含使用者管理、角色管理、佇列管理等,這部分的功能和很多B端後臺管理系統類似,不進行過多介紹;

針對許可權囉嗦幾句,透過角色和許可權兩個維度對平臺使用者進行身份授權,具有合法許可權的使用者才可以進行操作,不具備許可權的使用者會被拒絕不能進行操作。為了實現最小化授權和訪問控制,大資料平臺的訪問控制授權系統從以下幾個方面進行細粒度的許可權控制:訪問主體、訪問客體、訪問許可權、訪問有效期、訪問時間段、訪問來源;

4.3.2 資料來源管理

資料來源管理主要支援使用者對資料來源進行增刪改查,支援多源異構資料來源的接入;對於有條件共享的資源,支援進行申請操作;對於無條件共享的資源,支援進行接入操作;

自定義資料來源支援使用者新增管理第三方資料來源,對開發平臺提供第三方資料來源連線,自定義資料資源管理支援新增明確的資料庫表或者主題資訊,實現第三方資料透過同步或直連模式進行管理。

4.3.3 資源管理

資料開發過程中,所有對資料的處理都可以提前寫好指令碼儲存在系統中,作為資源在建立任務時進行呼叫,各種預處理、資料分析模型、演算法模型等均在此列;

4.3.4 工作流管理

工作流管理主要包含工作流定義、工作流例項、任務例項三個模組,實現工作流的建立、執行、監控全過程管理。

4.3.4.1 工作流定義

工作流定義模組主要是使用者對工作流進行編輯、執行、定時管理、上線/下線、刪除;在這個模組主要定義清楚工作流的來源和目的地,透過視覺化元件快速搭建流式計算。

(1)操作說明

執行:支援對已上線的任務執行執行操作,點選執行之後任務正式進入佇列進行計算;

定時管理:支援給工作流建立定時任務,實現例行排程。

(2) 建立工作流

透過拖拽左側工具欄下任務型別到畫板中,實現任務的建立,例如:拖拽SQL節點到畫板中,彈出如下視窗:

不知道大家看到彈窗裡的引數有何感想,當我剛開始要做時,其實我只想到了幾個引數,是研發大佬看著我的原型和我一遍又一遍的確認,最終得到了上圖這些引數(感動啊)。下方是引數詳細說明:

4.3.4.2 工作流例項

工作流例項就是工作流每一次執行的記錄,我們可以在這裡檢視執行結果和執行日誌。

工作流例項頁面支援編輯、重跑、恢復失敗、殺死、暫停、刪除等操作。

(1)列表操作

重跑:重新執行已經終止的流程;

恢復失敗:針對執行失敗的流程,可以執行,從失敗的異常開始執行;

扇死:對正在執行的流程進行停止操作,後臺會先kill工作流程,再執行kill操作;

暫停:對暫停的恢復流程,直接從暫停的節點開始執行。

4.3.4.3 任務例項

工作流是由一個個任務節點組成的,在任務例項頁面支援檢視每個任務節點的執行情況和執行日誌。

05、結語

資料開發系統在整個大資料能力平臺中承載著不可替代的作用,資料整合系統底層任務也是依賴於資料開發系統實現的;透過資料開發系統,建立教育大資料匯聚、清洗、儲存、計算、建模分析、運維監控的各項基礎能力,完成從資料到資訊、從資訊到知識的過程,讓分散、雜亂的資料變成有序的資料資產。

透過資料探勘分析,進行教育資料價值挖掘,並形成資料資產進行開放共享;最終實現大資料驅動教學、大資料驅動學習以及大資料驅動管理的整體大資料應用建設。

作者介紹:@奈文摩爾,教育公司資料產品經理,擅長資料應用產品、數倉建設;“資料人創作者聯盟”成員。

來自 “ 一個資料人的自留地 ”, 原文作者:@奈文摩爾;原文連結:https://mp.weixin.qq.com/s/3psSORurdq4-IMT6JBqCrA,如有侵權,請聯絡管理員刪除。

相關文章