包含幾通道資料 多資料來源一站式入湖

2021-10-16 07:01:11 字數 3238 閱讀 7735

資料湖作為乙個集中化的資料儲存倉庫,支援的資料型別具有多樣性,包括結構化、半結構化以及非結構化的資料,資料**上包含資料庫資料、binglog增量資料、日誌資料以及已有數倉上的存量資料等.資料湖能夠將這些不同**、不同格式的資料集中儲存管理在高價效比的儲存如oss等物件儲存中,並對外提供統一的資料分析方式,有效解決了企業中面臨的資料孤島問題,同時大大降低了企業儲存和使用資料的成本.

由於資料湖資料**的多樣性,如何簡單高效的將這些異構資料來源的資料遷移到中心化的資料湖儲存中,是資料湖構建過程面臨的問題.為此,我們需要提供完善的一站式入湖的能力,解決我們面臨的問題,主要包括以下幾點:

提供乙個簡單統一的入湖方式,使用者可以通過簡單的頁面配置實現異構資料來源的入湖操作.

對於日誌、binglog等型別的資料來源,需要實現分鐘級延遲的資料入湖能力,滿足實時互動式 分析場景對時效性的要求.

對於資料庫、tablestore tunnel等型別的資料來源,源頭資料會經常發生變更,比如資料層面的update,delete等操作,甚至schema層面的字段結構變更. 需要利用更好的資料格式來支援這類變更行為.

為此,阿里雲新推出了資料湖構建(data lake formation,dlf)服務,提供了完整的一站式入湖解決方案。

資料湖構建的入湖技術方案如下圖所示:

資料入湖整體上分為入湖模板、入湖引擎、檔案格式以及資料湖儲存四個部分:

入湖模板定義了常見的資料來源入湖方式,目前主要包括rds全量模板、dts增量模板、tablestore模板、sls模板以及檔案格式轉換5種模板.

使用者根據不同的資料來源選擇相應的入湖模板,然後填寫源頭相關引數資訊,即可完成入湖模板的建立,並提交給入湖引擎執行.

入湖引擎使用了阿里雲emr團隊自研的spark streaming sql以及emr spark引擎,streaming sql基於spark structured streaming,提供了相對完善的streaming sql語法,極大簡化了實時計算的開發成本。對於實時增量模板,上層入湖模板部分將入湖模板翻譯成streaming sql,然後提交spark集群執行。我們在streaming sql裡面擴充套件了merge into語法來支援update、delete操作。對於rds等全量模板,則直接翻譯成spark sql執行。

dlf支援的檔案格式包括delta lake、parquet、json等,更多檔案格式比如hudi也在接入中。delta lake和hudi等檔案格式能很好的支援update、delete等操作,同時支援schema merge功能。可以很好的解決資料來源實時變更問題。

資料湖資料統一放在oss物件儲存中,oss提供了海量資料儲存的能力,同時在可靠性,**等方面更具優勢.

一站式入湖方案在很好的解決了前面提的幾個問題:

通過模板配置,實現了統一簡單的資料入湖方式.

通過自研streaming sql實現了分鐘級延遲的資料實時入湖,滿足了時效性要求.

通過引進delta lake等更優的檔案格式,實現了對update、delete等資料實時變更要求.

隨著大資料的不斷發展,使用者對資料時效性的要求越來越高,實時入湖也是我們重點關注的場景,目前我們已經支援了dts、tablestore以及sls的實時入湖能力.

dts是阿里雲提供了高可靠的資料傳輸服務,支援不同型別資料庫增量資料的訂閱和消費。我們實現了dts實時訂閱資料的入湖,支援使用者已有訂閱通道入湖和自動建立訂閱通道入湖兩種方式,減少使用者配置成本。

在技術上,支援增量資料對歷史資料的update、delete變更操作,實現分鐘級延遲的資料變更感知能力。技術實現上在streaming sql中擴充套件了merge into語法來對接底層檔案格式delta lake的相關介面.

merge into delta_tbl as target

using (

select recordtype, pk, ...

from }

) as source

on target.pk = source.pk

when matched and source.recordtype='update' then

update set *

when matched and source.recordtype='delete' then

delete

when not matched then

insert *

和傳統數倉的binlog入倉相比,基於資料湖的方案具有更大的優勢. 在傳統數倉中,為了實現資料庫等變更資料的入倉,通常需要維護兩張表,一張增量表用於存放每天新增的資料庫變更明細資料,另外一張全量表,存放歷史所有的merge資料,全量表每天和增量表更據主鍵做merge操作. 顯然,基於資料湖方案在實現的簡單性和時效性上都更優.

tablestore是阿里雲提供的是阿里雲自研的nosql多模型資料庫,提供海量結構化資料儲存以及快速的查詢和分析服務.它同時支援了通道功能,支援變更資料的實時消費。我們支援tablestore全量通道、增量通道以及全量加增量通道的實現入湖.其中全量通道包含歷史全量資料,增量通道包含增量變化的資料,全量加增量通道則包含了歷史全量和增量變化的資料.

sls是阿里雲提供的針對日誌類資料的一站式服務,主要存放使用者日誌資料。將sls中的日誌資料實時歸檔到資料湖中,進行分析處理可以充分挖掘資料中的價值。目前通過sls入湖模板,填寫project、logstore等少量資訊,即可完成日誌實時入湖的能力。

一站式入湖功能極大的降低了異構資料來源入湖的成本,滿足了sls、dts等資料來源入湖的時效性要求,同時也支援了資料來源實時變更的能力。通過一站式入湖,將不同資料來源的資料統一歸併到以oss物件儲存為基礎架構的集中式資料湖儲存中,解決了企業面臨的資料孤島問題,為統一的資料分析打好了基礎.

後續一站式入湖一方面將繼續完善功能,支援更多型別的資料來源,入湖模板方面開放更多能力給使用者,支援自定義etl的功能,提高靈活性。另一方面,將會在效能優化方面不斷投入,提供更好的時效性和穩定性。

包含幾通道資料 多資料來源一站式入湖

簡介 通過一站式入湖,將不同資料來源的資料統一歸併到以oss物件儲存為基礎架構的集中式資料湖儲存中,解決了企業面臨的資料孤島問題,為統一的資料分析打好了基礎.資料湖作為乙個集中化的資料儲存倉庫,支援的資料型別具有多樣性,包括結構化 半結構化以及非結構化的資料,資料 上包含資料庫資料 binglog增...

一站式資料智慧型平台概念及能力

一站式資料智慧型平台依靠一體化管理,融合數智化工具,向不同行業使用者提供專業的 覆蓋資料全生命週期的產品及服務,幫助企業更好地利用資料價值,在數位化轉型過程中實現資料驅動業務。一站式資料智慧型平台概念界定 覆蓋各類資料全生命週期,融合數智化能力的專業資料服務 一站式資料智慧型平台依靠一體化管理,融合...

國內首個Hadoop一站式產品 直面大資料

本文講的是國內首個hadoop一站式產品 直面大資料,精誠集團是台灣的一家資訊服務企業,是亞洲資訊服務產業的領導廠商。精誠集團此次推出的一站式大資料解決方案etu,從軟體 硬體,到整合後的資料處理 分析 與未來擴充時的各個場景提供整體解決方案。etu的中文名字是 知意圖 由 意圖 發展而來,代表發現...