數(shù)據(jù)湖搭建指南——幾個核心問題

1纹安、什么是數(shù)據(jù)湖?

數(shù)據(jù)湖是一種技術(shù)系統(tǒng)考余,可以大批量并且廉價的分析結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)資產(chǎn)先嬉。

其實很簡單,數(shù)據(jù)湖的最大魅力在于可以分析一切類型的數(shù)據(jù)楚堤。

自 2010 年首次提出“數(shù)據(jù)湖”一詞以來疫蔓,采用數(shù)據(jù)湖架構(gòu)的組織數(shù)量呈指數(shù)級增長。 它們支持多種分析功能身冬,從數(shù)據(jù)的基本 SQL 查詢到實時分析鳄袍,再到機器學習。

image

主要組成:

數(shù)據(jù)湖由四個主要組件組成:存儲層吏恭、格式化層計算層元數(shù)據(jù)層重罪。

image

2樱哼、為什么要使用數(shù)據(jù)湖哀九?

數(shù)據(jù)湖架構(gòu)將數(shù)據(jù)資產(chǎn)整合到一個集中的存儲庫中。該存儲庫將用作對以前孤立的數(shù)據(jù)進行跨功能分析的根基搅幅。此外阅束,來自數(shù)據(jù)湖的架構(gòu)有助于數(shù)字化驅(qū)動的實現(xiàn)。

任何擁有來自物聯(lián)網(wǎng)傳感器或移動應(yīng)用點擊流等來源的大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)都可以采用數(shù)據(jù)湖架構(gòu)茄唐,這也是未來大數(shù)據(jù)的發(fā)展方向之一息裸。

數(shù)據(jù)湖與數(shù)據(jù)倉庫

數(shù)據(jù)湖和數(shù)據(jù)倉庫的相似之處在于它們都支持分析大型數(shù)據(jù)集。然而沪编,他們實現(xiàn)這一目標的方法在幾個關(guān)鍵方面有所不同呼盆。

模塊化:數(shù)據(jù)倉庫通常是專有的、單一的應(yīng)用程序蚁廓,比如使用HADOOP访圃,HIVE等構(gòu)建數(shù)據(jù)倉庫。而數(shù)據(jù)湖的特點是其組件的模塊化相嵌,主要由開源技術(shù)和開放格式組成腿时。

架構(gòu):數(shù)據(jù)倉庫要求數(shù)據(jù)在寫入或攝取時立即符合 DDL 定義的架構(gòu)。相比之下饭宾,數(shù)據(jù)湖允許數(shù)據(jù)自由存儲批糟,數(shù)據(jù)的結(jié)構(gòu)驗證在讀取時進行。

成本與性能:數(shù)據(jù)倉庫通常以更高的價格提供高性能看铆。用戶在將數(shù)據(jù)插入表之前通常會面臨歷史記錄的聚合徽鼎,以避免過高的成本。

數(shù)據(jù)湖將數(shù)據(jù)存儲保持在極具成本效益的存儲服務(wù)中性湿,因此不會產(chǎn)生過高存儲費用纬傲。計算資源可彈性伸縮,以最佳方式滿足工作負載的需求肤频,無需額外成本叹括。

結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù):數(shù)據(jù)倉庫專為結(jié)構(gòu)化表格數(shù)據(jù)集而設(shè)計。而數(shù)據(jù)湖也可用于分析非結(jié)構(gòu)化或半結(jié)構(gòu)化格式的數(shù)據(jù)宵荒。

事實上汁雷,數(shù)據(jù)湖與數(shù)據(jù)倉庫是可以并行的,要結(jié)合實際業(yè)務(wù)情況進行报咳。

3侠讯、如何構(gòu)建數(shù)據(jù)湖?

高度可用的存儲服務(wù)是數(shù)據(jù)湖的第一步暑刃。

在將數(shù)據(jù)轉(zhuǎn)換為更適合分析的格式之前厢漩,應(yīng)以原始格式存儲數(shù)據(jù)。

接下來岩臣,連接諸如 Spark 或 Presto 之類的計算引擎以對數(shù)據(jù)運行計算溜嗜。

image

總共分四部:

  1. 原始數(shù)據(jù)進入對象存儲
  2. 優(yōu)化原始數(shù)據(jù)文件以按大小和格式進行分析
  3. 添加元數(shù)據(jù)工具來定義模式并啟用版本控制 + 發(fā)現(xiàn)
  4. 將下游消費者集成到優(yōu)化的數(shù)據(jù)資產(chǎn)中

4宵膨、數(shù)據(jù)湖技術(shù)路線

在數(shù)據(jù)湖的每一層架構(gòu)中,都有許多技術(shù)可以組合起來創(chuàng)建數(shù)據(jù)湖炸宵。

存儲: 主要云提供商 AWS S3的存儲服務(wù)最常用于數(shù)據(jù)湖的存儲層辟躏。還有許多其他托管和開源存儲提供商也完全能夠支持數(shù)據(jù)湖,包括:MinIO土全、HDFS捎琐、IBM 云存儲、阿里巴巴對象存儲裹匙、Wasabi瑞凑、Ceph、Oracle 云存儲幻件、SwiftStack 拨黔,和Spaces Object Storage。

數(shù)據(jù)格式:最簡單的格式示例是 CSV 和 JSON绰沥,基本都是支持的篱蝇。還存在專為數(shù)據(jù)湖用例設(shè)計的更專業(yè)的格式,如 Parquet徽曲、Delta零截、Iceberg、Avro 和 Hudi秃臣。這些格式提高了湖操作的效率涧衙,并使事務(wù)原子性和時間回溯等功能成為可能。

媒體圖像奥此、視頻和音頻文件相關(guān)的非結(jié)構(gòu)化數(shù)據(jù)格式也常見于數(shù)據(jù)湖中弧哎。

計算:大型的計算引擎必須是分布式的。示例包括 MapReduce 和 Hadoop 等技術(shù)稚虎、以及 Spark 撤嫩、Presto、Flink 等等蠢终。

元數(shù)據(jù):非常的重要序攘,特別是影響到以后的數(shù)據(jù)治理。

客戶端和庫:通過 JDBC/ODBC 和其他數(shù)據(jù)傳輸接口寻拂,可以訪問湖中數(shù)據(jù)程奠。S3 API,BI 工具和 SQL 客戶端祭钉。

5瞄沙、應(yīng)用

數(shù)據(jù)湖適用于一切分析的場景。

  • 本地數(shù)據(jù)分析:一旦將數(shù)據(jù)放入湖中,就無需將其移至其他地方以進行基于 SQL 的分析帕识。讓分析師對數(shù)據(jù)湖數(shù)據(jù)運行查詢泛粹,以識別趨勢并計算有關(guān)業(yè)務(wù)的指標。
  • 機器學習模型訓練:機器學習模型通常需要大量數(shù)據(jù)來訓練以優(yōu)化其參數(shù)肮疗,并實現(xiàn)高水平的準確性。數(shù)據(jù)湖使數(shù)據(jù)科學家可以重復(fù)創(chuàng)建訓練和測試集以優(yōu)化模型扒接。
  • 存檔和歷史數(shù)據(jù)存儲:除了數(shù)據(jù)湖提供的直接業(yè)務(wù)價值外伪货,還可以將它們用作存檔歷史數(shù)據(jù)的存儲。

6钾怔、數(shù)據(jù)湖的挑戰(zhàn)

數(shù)據(jù)湖周圍的生態(tài)系統(tǒng)相對較新碱呼,在某些情況下使用的技術(shù)仍在成熟中。因此宗侦,數(shù)據(jù)湖容易面臨一些常見問題愚臀。

小文件:一個這樣的問題是“小文件問題”,當大量文件(每個文件包含少量數(shù)據(jù))出現(xiàn)在數(shù)據(jù)湖中時就會發(fā)生矾利。小文件的問題是它們運行計算和保持最新的元數(shù)據(jù)統(tǒng)計數(shù)據(jù)效率低下姑裂。

小文件問題的解決方案是運行定期維護作業(yè),將數(shù)據(jù)壓縮到理想大小以進行有效分析男旗。

分區(qū) 和查詢效率:類似于在倉庫表上添加索引的概念舶斧,數(shù)據(jù)湖資產(chǎn)可以通過使用分區(qū)來優(yōu)化聚合或過濾某些字段。分區(qū)是指按 Blob 存儲上的特定字段或字段集對數(shù)據(jù)進行物理組織察皇。

在沒有意識到這一點的情況下茴厉,用戶可能會因運行不太適合表分區(qū)結(jié)構(gòu)的查詢而招致大量成本和等待時間。

共享驅(qū)動器:如果沒有適當?shù)墓ぷ髁鞒毯椭卫硎踩伲瑪?shù)據(jù)湖很容易類似于共享文件夾矾缓,多人在其中放置文件,而無需考慮其他用戶的預(yù)期要求稻爬。適當?shù)墓ぷ髁鞒淌潜匾氖任牛员苊夂蔀閿?shù)據(jù)沼澤。

7因篇、如何避免數(shù)據(jù)沼澤

數(shù)據(jù)沼澤是數(shù)據(jù)湖的退化狀態(tài)泞辐。湖中的表要么返回不準確的數(shù)據(jù),要么文件損壞并且查詢完全停止運行竞滓。

必須保持對插入生產(chǎn)數(shù)據(jù)集的任何數(shù)據(jù)的質(zhì)量和屬性有充分的認識咐吼。

更多數(shù)據(jù)湖相關(guān)技術(shù)與方案分享,歡迎關(guān)注 大數(shù)據(jù)流動

相關(guān)技術(shù)交流群已經(jīng)成立商佑,歡迎大家掃碼加入

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锯茄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肌幽,老刑警劉巖晚碾,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喂急,居然都是意外死亡格嘁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門廊移,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糕簿,“玉大人,你說我怎么就攤上這事狡孔《” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵苗膝,是天一觀的道長殃恒。 經(jīng)常有香客問我,道長辱揭,這世上最難降的妖魔是什么离唐? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮界阁,結(jié)果婚禮上侯繁,老公的妹妹穿的比我還像新娘。我一直安慰自己泡躯,他們只是感情好贮竟,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著较剃,像睡著了一般咕别。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上写穴,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天惰拱,我揣著相機與錄音,去河邊找鬼啊送。 笑死偿短,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的馋没。 我是一名探鬼主播昔逗,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼篷朵!你這毒婦竟也來了勾怒?” 一聲冷哼從身側(cè)響起婆排,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笔链,沒想到半個月后段只,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鉴扫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年赞枕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坪创。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹦赎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出误堡,到底是詐尸還是另有隱情,我是刑警寧澤雏吭,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布锁施,位于F島的核電站,受9級特大地震影響杖们,放射性物質(zhì)發(fā)生泄漏悉抵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一摘完、第九天 我趴在偏房一處隱蔽的房頂上張望姥饰。 院中可真熱鬧,春花似錦孝治、人聲如沸列粪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岂座。三九已至,卻和暖如春杭措,著一層夾襖步出監(jiān)牢的瞬間费什,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工手素, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸳址,地道東北人犯戏。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓榆纽,卻偏偏與公主長得像蓄诽,于是被迫代替她去往敵國和親部蛇。 傳聞我的和親對象是個殘疾皇子猖败,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容