天天看點

你的公司會選擇開發資料中台嗎?

最近一直在寫關于資料中台的文章,我發現大家都很感興趣,今天就從資料中台的建設方針來解決各位的疑惑。

橫向規劃即在資料中台規劃初期,需要打通企業各個業務系,打破資料孤島現象,其實就是我們建設資料倉庫的階段。

資料中台建設過程中涉及到大資料平台建設、資料倉庫建設、模型算法、資料治理、資料服務等一系列工程,不可能一蹴而就,我們需要梳理業務場景,看他們需要什麼樣的服務先找一個業務場景,搭建起資料中台的服務能力,然後依次疊代,各個擊破。

你的公司會選擇開發資料中台嗎?

一、總體規劃

你的公司會選擇開發資料中台嗎?

資料內建

首先我們需要确認平台接入哪些資料,确認資料接入的方式是實時接入還是離線抽取。離線抽取的話是全量抽取還是增量抽取。抽取頻次數每天抽取還是每小時抽取。

實時接入可以使用 kafka 實時寫入資料到 HDFS 叢集上。

你的公司會選擇開發資料中台嗎?

離線資料可以使用 Sqoop 抽取關系型資料庫到 HDFS。

你的公司會選擇開發資料中台嗎?

模型建設

模型建設是資料中台的重要部分,可以說資料中台的成敗在于模型建設的好壞。模型分為我們常指的資料倉庫的分析模型和我們的一些通用算法模型。

分析模型

資料接入到資料倉庫中,我們需要對資料進行加工,按照我們規劃的業務域,對各個業務的資料彙總聚合,形成我們的資料模型。

這其中涉及到資料倉庫建設,在這簡單說下。

你的公司會選擇開發資料中台嗎?

這是一個簡單的資料分層結構。原始資料 ODS,經過清洗成為數倉中的明細資料 DWS 和次元資料 DIM,各個業務的明細資料按照業務域和次元資料關聯形成我們的資料模型 DW,不同的 DW 經過聚合形成各個業務名額資料 APP 層。

你的公司會選擇開發資料中台嗎?

在數倉的建設中我們聲明業務粒度,粒度能夠精确的表明業務含義。同時還要确定次元,是使用者次元還是商品次元等,最終形成我們的主資料,也就是模型資料的基礎。

算法模型

我們在業務開發過程中會形成一些通用的算法,可以是封裝好的随機森林、回歸等通用算法,也可以是我們業務算法,比如使用者商品推薦算法等。通過把這些算法總結,形成我們的算法模型,供各個業務直接調用。

你的公司會選擇開發資料中台嗎?

ETL 平台

在開發資料模型時,我們必須有一個統一的平台,能夠像流水線一樣,把資料一步步加工成資料模型。這其中涉及到資料萃取、資料聚合、作業排程等。

你的公司會選擇開發資料中台嗎?

與業務研發不同,資料研發一般很少寫詳細的需求涉及文檔,通常就是和業務人員簡單的溝通,但是慢慢的你會發現開發完的任務會一改再改。為了避免此種現象,我們可以根據自己的實際業務整理一份需求模闆。其中包括資料來源字段,資料口徑,任務排程周期,字段 mapping。

資料資産

通俗的來說,我們在數倉中開發的模型就是資料資産,資料資産需要規範的管控和治理。

資産管理最基礎的工作是做好中繼資料的管理,中繼資料包含了資料的口徑,資料模型的釋義,模型之間的血緣等等,詳細的可以看之前的中繼資料文章《資料倉庫中繼資料》。将中繼資料和資料模型統一有序的管理起來形成企業的資料資産。

資料資産治理不是在事後管控的,在我們建設模型的過程中需要形成一套自己的數倉開發規範進行管理。

資料服務

俗話說,酒香也怕巷子深。我們做好資料資産後,要推銷我們的資産,為更多部門使用,這也是資料中台建設的初衷。是以提供一套資料服務能力,對外統一對接是一件很重要的工作。

你的公司會選擇開發資料中台嗎?

資料服務标準:資料結構标準化、線上查詢實時化、資料開發可視化。

資料結構标準化

針對資料互動,我們需要提供統一的接口視圖,可進行資料的查詢、權限管控。

線上查詢實時化

針對各業務的調用,我們需要提供名額級資料口徑統一的實時資料結果。

資料開發可視化

提供資料接口的可視化統一管理頁面,開發人員通過通過可視化管理 API,降低接口了解的難度,易于維護。

你的公司會選擇開發資料中台嗎?

二、資料湖引擎

其實講到資料中台,必然繞不開整個企業的資料架構,但由于内容實在是太多,我隻能挑着講,今天就來講講一個比較新穎且重要的概念,資料湖引擎。

資料湖引擎介于管理資料系統、分析可視化和資料處理工具之間。資料湖引擎不是将資料從資料源移動到單個存儲庫,而是部署在現有資料源和資料使用者的工具 (如 BI 工具和資料科學平台) 之上。

你的公司會選擇開發資料中台嗎?

數百萬資料消費者使用的工具,如 BI 工具、資料科學平台和儀表闆工具,假設所有資料都存在于一個高性能的關系資料庫中,當資料在多個系統中,或者在非關系存儲 (如 ADLS、Amazon S3、Hadoop 和 NoSQL 資料庫) 中,這些工具的能力就會受到影響。

BI 分析工具,如 FineBI/Tableau/Python 和機器學習模型,是為資料生活在一個單一的、高性能的關系資料庫中的環境而設計的。

然而,多數組織使用不同的資料格式和不同的技術在多種解決方案中管理他們的資料。多數組織現在使用一個或多個非關系型資料存儲,如雲存儲 (如 S3、ADLS)、Hadoop 和 NoSQL 資料庫 (如 Elasticsearch、Cassandra)。

當資料存儲在一個獨立的高性能關系資料庫中時,BI 工具、資料科學系統和機器學習模型可以很好運用這部分資料。然而,就像我們上面所說的一樣,資料這并不是存在一個地方。

是以,它的任務是将這些資料轉移到關系環境中,建立多元資料集,并為不同的分析工具生成專用視圖。資料湖引擎簡化了這些挑戰,允許公司将資料存放在任何地方。

三、總結

繼續閱讀