最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)據(jù)工程:ELT 工作流中的 6 個(gè)步驟

2023-03-29 11:24 作者:檸萌徒弟  | 我要投稿



數(shù)據(jù)轉(zhuǎn)換過(guò)程可以分為六個(gè)步驟:提取extraction和加載loading、探索exploration、轉(zhuǎn)換transformation、測(cè)試testing、文檔documentation和部署deployment。

數(shù)據(jù)轉(zhuǎn)換是獲取原始數(shù)據(jù)并從中獲取意義的過(guò)程;它構(gòu)成了所有分析工作的基礎(chǔ),并代表了數(shù)據(jù)從業(yè)者如何從他們的公司創(chuàng)造有形的價(jià)值。

數(shù)據(jù)轉(zhuǎn)換過(guò)程通常可以分解為六個(gè)常規(guī)定義的步驟:提取和加載、探索、轉(zhuǎn)換、測(cè)試、文檔和部署。執(zhí)行這些步驟后,原始數(shù)據(jù)將采用一種有意義的新形式,為公司的商業(yè)智能工作提供支持。

我們將使用此頁(yè)面來(lái)描述典型 ELT 工作流的數(shù)據(jù)轉(zhuǎn)換過(guò)程。

步驟 1:提取和加載

如果您的團(tuán)隊(duì)遵循 ELT 工作流,其中在轉(zhuǎn)換數(shù)據(jù)之前提取原始數(shù)據(jù)源并將其加載到數(shù)據(jù)倉(cāng)庫(kù)中,則需要在開(kāi)始轉(zhuǎn)換工作之前實(shí)際完成這些提取和加載步驟!

提取

在提取過(guò)程中,從與您的業(yè)務(wù)相關(guān)的多個(gè)數(shù)據(jù)源中提取數(shù)據(jù)。提取的數(shù)據(jù)大部分是團(tuán)隊(duì)最終希望用于分析工作的數(shù)據(jù)。數(shù)據(jù)源的一些示例可以包括:后端應(yīng)用程序數(shù)據(jù)庫(kù)、營(yíng)銷平臺(tái)、電子郵件和銷售 CRM 等。

這些數(shù)據(jù)通常是通過(guò)自定義腳本與應(yīng)用程序編程接口(API)交互,或者依靠使用開(kāi)源或軟件即服務(wù)(SaaS)ETL工具來(lái)消除一些技術(shù)提升,從而從其系統(tǒng)中提取的。

加載

在加載階段,提取的數(shù)據(jù)將加載到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)中?,F(xiàn)代數(shù)據(jù)倉(cāng)庫(kù)的一些示例包括Snowflake,Amazon Redshift和Google BigQuery。其他數(shù)據(jù)存儲(chǔ)平臺(tái)的例子包括數(shù)據(jù)湖,如Databricks的數(shù)據(jù)湖。大多數(shù)從數(shù)據(jù)源中提取數(shù)據(jù)的 SaaS 應(yīng)用程序也會(huì)將其加載到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)中。自定義或內(nèi)部提取和加載過(guò)程通常需要強(qiáng)大的數(shù)據(jù)工程和技術(shù)技能。

第 2 步:數(shù)據(jù)探索

原始數(shù)據(jù)進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)后,就該了解這些數(shù)據(jù)的外觀了。在此階段,您會(huì)發(fā)現(xiàn)自己:

? ? 查看可用的 ERD(實(shí)體關(guān)系圖)和連接鍵,以了解數(shù)據(jù)如何將自身連接在一起

? ? 確定哪些列可能缺少值或具有誤導(dǎo)性列名稱

? ? 編寫即席查詢以對(duì)數(shù)據(jù)執(zhí)行一些簡(jiǎn)單的分析或匯總統(tǒng)計(jì)信息 - 有多少行?主鍵是唯一的嗎?有主鍵嗎?

? ? 了解不同數(shù)據(jù)源的貨幣、時(shí)區(qū)和數(shù)據(jù)類型有何不同

如何探索原始數(shù)據(jù)沒(méi)有完美的方法;執(zhí)行數(shù)據(jù)源需要的操作。如果您對(duì)原始數(shù)據(jù)的準(zhǔn)確性和完整性有很高的信心,那么與質(zhì)疑數(shù)據(jù)的完整性相比,此步驟可能會(huì)變得不那么費(fèi)力(如果您是數(shù)據(jù)從業(yè)者,這可能是您的自然傾向??)。

步驟三:數(shù)據(jù)轉(zhuǎn)換

在實(shí)際的轉(zhuǎn)換步驟中,已加載到數(shù)據(jù)倉(cāng)庫(kù)中的原始數(shù)據(jù),您熟悉該數(shù)據(jù)的結(jié)構(gòu),并且您有一個(gè)關(guān)于如何處理它的大致計(jì)劃 - 它終于準(zhǔn)備好開(kāi)始您的建模過(guò)程了!當(dāng)您在數(shù)據(jù)探索階段首次查看此數(shù)據(jù)時(shí),您可能已經(jīng)注意到了一些有關(guān)它的事情......

? ? 列名稱可能清晰,也可能不清晰

? ? 表未聯(lián)接到其他表

? ? 時(shí)間戳可能采用不正確的報(bào)告時(shí)區(qū)

? ? JSON 資源豐富,可能需要解嵌套

? ? 表可能缺少主鍵

...因此需要轉(zhuǎn)型!在實(shí)際轉(zhuǎn)換過(guò)程中,數(shù)據(jù)源中的數(shù)據(jù)通常是:

? ? 輕度轉(zhuǎn)換:正確轉(zhuǎn)換字段、統(tǒng)一時(shí)間戳字段的時(shí)區(qū)、適當(dāng)重命名表和字段等。在 dbt 中,這通常發(fā)生在用于為數(shù)據(jù)創(chuàng)建干凈、統(tǒng)一的石板的暫存模型中。

? ? 大量轉(zhuǎn)換:添加業(yè)務(wù)邏輯,建立適當(dāng)?shù)木唧w化,將數(shù)據(jù)連接在一起,創(chuàng)建聚合和指標(biāo)等。在 dbt 中,這通常發(fā)生在中間模型和市場(chǎng)模型中,創(chuàng)建最終向最終用戶和商業(yè)智能 (BI) 工具公開(kāi)的表。

轉(zhuǎn)換數(shù)據(jù)的常見(jiàn)方法包括利用 dbt 等現(xiàn)代技術(shù)使用 SQL 和 Python 編寫模塊化和版本控制的轉(zhuǎn)換。其他解決方案包括編寫自定義 SQL 和 Python 腳本,這些腳本由某種類型的調(diào)度程序自動(dòng)執(zhí)行或利用存儲(chǔ)過(guò)程。

第 4 步:數(shù)據(jù)測(cè)試

您的數(shù)據(jù)現(xiàn)在已建模,感覺(jué)大致正確,但如何確認(rèn)轉(zhuǎn)換后數(shù)據(jù)的質(zhì)量?您如何確保向下游用戶公開(kāi)的關(guān)鍵指標(biāo)和數(shù)據(jù)值得信賴和可靠?

在此階段,應(yīng)執(zhí)行符合組織標(biāo)準(zhǔn)的數(shù)據(jù)測(cè)試。這可能看起來(lái)像:

? ? 測(cè)試主鍵的唯一性和非空性

? ? 確保列值在預(yù)期范圍內(nèi)

? ? 檢查模型關(guān)系陣容

? ? 等等。

使用 dbt 等產(chǎn)品(您可以在其中定義基于代碼的測(cè)試以針對(duì)數(shù)據(jù)轉(zhuǎn)換運(yùn)行),您可以創(chuàng)建一個(gè)系統(tǒng),在該系統(tǒng)中,您可以根據(jù)您建立的標(biāo)準(zhǔn)輕松且定期地測(cè)試轉(zhuǎn)換。

第 5 步:數(shù)據(jù)文檔

您的數(shù)據(jù)將轉(zhuǎn)換為有意義的業(yè)務(wù)實(shí)體,根據(jù)您的標(biāo)準(zhǔn)進(jìn)行測(cè)試,并向最終用戶公開(kāi)。您期望那些沒(méi)有直接參與轉(zhuǎn)型過(guò)程的人如何瀏覽它們?您正在創(chuàng)建哪些文檔來(lái)闡明轉(zhuǎn)換中的業(yè)務(wù)邏輯并描述核心指標(biāo)和列?

在這個(gè)階段,轉(zhuǎn)型已經(jīng)完成,但在某種程度上,工作才剛剛開(kāi)始。為了使數(shù)據(jù)轉(zhuǎn)換對(duì)最終用戶有意義且有影響力,創(chuàng)建和維護(hù)可靠的文檔非常重要。

我們建議您在轉(zhuǎn)換過(guò)程中首先記錄以下內(nèi)容:

? ? 轉(zhuǎn)換或數(shù)據(jù)模型的主要用途 - 創(chuàng)建此轉(zhuǎn)換的主要原因是什么?它為您的 BI 工具提供了哪些重要的報(bào)告支持?

? ? 在其中實(shí)現(xiàn)了業(yè)務(wù)邏輯或列名稱不明確的鍵列

? ? 聚合和指標(biāo)

數(shù)據(jù)轉(zhuǎn)換過(guò)程的文檔通常應(yīng)該以未參與原始過(guò)程的人員可以理解的方式編寫,而不是專注于如何為更多技術(shù)用戶進(jìn)行轉(zhuǎn)換。精心編寫的轉(zhuǎn)換文檔歡迎業(yè)務(wù)用戶參與分析工作,并且是確保您的最終用戶感到舒適并有權(quán)使用團(tuán)隊(duì)努力構(gòu)建的數(shù)據(jù)的基本方法。

步驟 6:部署:計(jì)劃和自動(dòng)化

您的數(shù)據(jù)轉(zhuǎn)換已創(chuàng)建、測(cè)試和記錄,現(xiàn)在是時(shí)候?qū)⑺鼈兺葡蚴澜缌恕T诖穗A段,數(shù)據(jù)工程師、數(shù)據(jù)分析師或分析工程師會(huì)將這些轉(zhuǎn)換推向生產(chǎn)環(huán)境,即在數(shù)據(jù)倉(cāng)庫(kù)的生產(chǎn)環(huán)境中運(yùn)行它們的過(guò)程。這些生產(chǎn)就緒表是分析師將查詢進(jìn)行分析的內(nèi)容,也是 BI 工具將讀取的內(nèi)容。

需要使用某種類型的計(jì)劃程序或業(yè)務(wù)流程協(xié)調(diào)程序,以滿足業(yè)務(wù)需求的節(jié)奏刷新或更新這些數(shù)據(jù)轉(zhuǎn)換。使用 dbt Cloud 等產(chǎn)品,您可以在協(xié)作集成開(kāi)發(fā)環(huán)境 (IDE) 中創(chuàng)建數(shù)據(jù)轉(zhuǎn)換和測(cè)試,然后使用 dbt Cloud 作業(yè)計(jì)劃程序定期運(yùn)行它們。通常需要更多技術(shù)提升的其他解決方案包括依賴自定義 cron 計(jì)劃程序或外部業(yè)務(wù)流程協(xié)調(diào)程序。

開(kāi)始運(yùn)行!

構(gòu)建基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換后,您的重點(diǎn)可能會(huì)轉(zhuǎn)移到優(yōu)化、治理和民主化工作上;對(duì)于所需的每個(gè)新數(shù)據(jù)源、業(yè)務(wù)問(wèn)題或?qū)嶓w,總會(huì)有更多的數(shù)據(jù)轉(zhuǎn)換工作需要完成。因此,一個(gè)好的數(shù)據(jù)轉(zhuǎn)換過(guò)程既嚴(yán)格又靈活 - 該過(guò)程允許足夠的護(hù)欄,使分析工作有價(jià)值和有條理,有足夠的空間來(lái)有趣、具有挑戰(zhàn)性和針對(duì)您的業(yè)務(wù)進(jìn)行定制。


數(shù)據(jù)工程:ELT 工作流中的 6 個(gè)步驟的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
靖安县| 江陵县| 墨玉县| 海南省| 沙坪坝区| 崇左市| 巴南区| 天峨县| 津市市| 丹东市| 秭归县| 肇东市| 轮台县| 随州市| 淳安县| 彭阳县| 衡阳县| 芮城县| 聂荣县| 衢州市| 陈巴尔虎旗| 华亭县| 万年县| 五家渠市| 荆州市| 山东| 平原县| 屏东县| 潮安县| 法库县| 从化市| 永年县| 南康市| 江安县| 霍城县| 阿拉善盟| 诸城市| 凤冈县| 庆城县| 涞源县| 平南县|