數(shù)據(jù)湖的這些知識點你了解嗎

2022-10-02    分類: 網(wǎng)站建設(shè)

今天這篇文章主要介紹數(shù)據(jù)湖(data lake)的定義,其次介紹各大云廠商的解決方案以及目前的開源解決方案。

定義

看下維基百科的定義:數(shù)據(jù)湖是一個以原始格式(通常是對象塊或文件)存儲數(shù)據(jù)的系統(tǒng)或存儲庫。數(shù)據(jù)湖通常是所有企業(yè)數(shù)據(jù)的單一存儲。用于報告、可視化、高級分析和機器學(xué)習(xí)等任務(wù)。數(shù)據(jù)湖可以包括來自關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)(行和列)、半結(jié)構(gòu)化數(shù)據(jù)(CSV、日志、XML、JSON)、非結(jié)構(gòu)化數(shù)據(jù)(電子郵件、文檔、pdf)和二進制數(shù)據(jù)(圖像、音頻、視頻)。定義中的重點內(nèi)容我用紅色字體標注出來,簡單說明一下這幾點。

原始格式:

數(shù)據(jù)不做預(yù)處理,保存數(shù)據(jù)的原始狀態(tài)

單一存儲:

存儲庫中會匯總多種數(shù)據(jù)源,是一個單一庫

用于機器學(xué)習(xí):

除了 BI 、報表分析,數(shù)據(jù)湖更適用于機器學(xué)習(xí)

數(shù)據(jù)湖并不是新概念,最早 2015 年就被提出來了,可以看到數(shù)據(jù)湖經(jīng)常被拿來跟目前的數(shù)據(jù)倉庫作比較。下面是谷歌搜到的一篇比較早的數(shù)據(jù)湖和數(shù)據(jù)倉庫對比的文章

數(shù)據(jù)湖的這些知識點你了解嗎

至于為什么數(shù)據(jù)湖慢慢走近大家的視野,并且越來越多的跟倉庫作比較。我認為主要是跟機器學(xué)習(xí)的廣泛應(yīng)用有很大關(guān)系。

數(shù)據(jù)湖和數(shù)據(jù)倉庫的對比

大數(shù)據(jù)剛興起的時候,數(shù)據(jù)主要用途是 BI 、報表、可視化。因此數(shù)據(jù)需要是結(jié)構(gòu)化的,并且需要 ETL 對數(shù)據(jù)進行預(yù)處理。這個階段數(shù)據(jù)倉庫更適合完成這樣的需求,所以企業(yè)大部分需要分析的數(shù)據(jù)都集中到數(shù)據(jù)倉庫中。而機器學(xué)習(xí)的興起對數(shù)據(jù)的需求更加靈活,如果從數(shù)據(jù)倉庫中提數(shù)會有一些問題。比如:數(shù)據(jù)都是結(jié)構(gòu)化的;數(shù)據(jù)是經(jīng)過處理的可能并不是算法想要的結(jié)果;算法同學(xué)與數(shù)倉開發(fā)同學(xué)溝通成本較大等。我在工作中就遇到這種情況,做算法的同學(xué)需要經(jīng)常理解我們的數(shù)倉模型,甚至要深入到做了什么業(yè)務(wù)處理,并且我們的處理可能并不是他們的想要的?;谏厦嬗龅降母鞣N問題,數(shù)據(jù)湖的概念應(yīng)運而生。下面的表格對比一下數(shù)據(jù)湖和數(shù)據(jù)倉庫的區(qū)別,主要來自 AWS 。

數(shù)據(jù)湖的這些知識點你了解嗎

從以上表格的區(qū)別上我們可以看到數(shù)據(jù)湖的應(yīng)用場景主要在于機器學(xué)習(xí),并且在用的時候再建 Schema 更加靈活。雖然數(shù)據(jù)湖能夠解決企業(yè)中機器學(xué)習(xí)應(yīng)用方面的數(shù)據(jù)訴求,可以與數(shù)據(jù)倉庫團隊解耦。但并不意味著數(shù)據(jù)湖可以取代數(shù)據(jù)倉庫,數(shù)據(jù)倉庫在高效的報表和可視化分析中仍有優(yōu)勢。

云廠商的解決方案

近幾年云計算的概念也是非?;?,各大云廠商自然不會錯失數(shù)據(jù)湖的解決方案。下面簡單介紹阿里云、AWS 和 Azure 分別的數(shù)據(jù)產(chǎn)品。

阿里云:

Data Lake Analytics,通過標準JDBC直接對阿里云OSS,TableStore,RDS,MongoDB等不同數(shù)據(jù)源中存儲的數(shù)據(jù)進行查詢和分析。DLA 無縫集成各類商業(yè)分析工具,提供便捷的數(shù)據(jù)可視化。阿里云OSS 可以存儲各種結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的數(shù)據(jù),可以當(dāng)做一個數(shù)據(jù)湖的存儲庫。DLA 使用前需要創(chuàng)建 Schema 、定義表,再進行后續(xù)分析。

AWS:

Lake Formation,可以識別 S3 或關(guān)系數(shù)據(jù)庫和 NoSQL 數(shù)據(jù)庫中存儲的現(xiàn)有數(shù)據(jù),并將數(shù)據(jù)移動到 S3 數(shù)據(jù)湖中。使用 EMR for Apache Spark(測試版)、Redshift 或 Athena 進行分析。支持的數(shù)據(jù)源跟阿里云差不多。

Azure:

Azure Data Lake Storage,基于 Azure Blob 存儲構(gòu)建的高度可縮放的安全 Data Lake 功能,通過 Azure Databricks 對數(shù)據(jù)湖中的數(shù)據(jù)進行處理、分析。但文檔中并沒有看到支持其他數(shù)據(jù)源的說明

開源解決方案

除了云廠商提供的方案外, 還有一個開源解決方案——kylo 。這個框架的關(guān)注度并不高,社區(qū)不是很活躍。大概看了下官網(wǎng)的介紹視頻,基本上與云廠商的解決方案一致。支持多種數(shù)據(jù)源,分析時創(chuàng)建 Schema。另外,Databricks 團隊(開源 Spark 框架)年初開源了 Delta lake 框架, Delta lake 是存儲層,為數(shù)據(jù)湖帶來了可靠性。Delta Lake 提供 ACID 事務(wù)、可伸縮的元數(shù)據(jù)處理,并統(tǒng)一流和批數(shù)據(jù)處理。Delta Lake運行在現(xiàn)有數(shù)據(jù)湖之上,與Apache Spark api完全兼容。架構(gòu)圖如下:

數(shù)據(jù)湖的這些知識點你了解嗎

小結(jié)

今天這篇文章主要介紹了數(shù)據(jù)湖的概念,以及數(shù)據(jù)湖與數(shù)據(jù)倉庫的區(qū)別,然后簡單了解了目前數(shù)據(jù)湖在云廠商和開源軟件中的解決方案。作為數(shù)倉建設(shè)和數(shù)據(jù)開發(fā)人員要密切關(guān)注這種新的概念,如果我們的工作中遇到這種問題我們也可以思考是否可以推動數(shù)據(jù)湖的建設(shè)。另外,作為中小企業(yè)上云的方案可能是一個比較好的選擇,畢竟開源解決方案目前不是很成熟,社區(qū)還不是很強大。

數(shù)據(jù)湖

分享題目:數(shù)據(jù)湖的這些知識點你了解嗎
標題URL:http://muchs.cn/news/200443.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、標簽優(yōu)化、網(wǎng)站導(dǎo)航、電子商務(wù)網(wǎng)站制作、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)