資料分層是一套行之有效的資料組織和管理方法,使得資料體系更有序。
(1)清晰資料結構
每乙個資料分層都有它的作用域和職責,在使用表的時候能更方便的定位和理解。
(2)減少重複開發
規範資料分層,開發一些通用的中間層資料,能夠減少極大的重複計算。
(3)統一資料口徑
通過資料分層,提供統一的資料出口,統一對外輸出的資料口徑。
(4)複雜問題簡單化
將乙個複雜的任務分解成多個步驟完成,每一層解決特定的問題。
以下是乙個電商**的資料體系設計,只關注使用者訪問日誌這部分資料。
資料來源:業務系統、埋點、爬蟲
pg:postgresql,一種關係型資料庫
sqoop:是乙個在結構化資料(mysql/oracle)和hadoop(hive)之間進行批量資料遷移的工具
flume:是乙個分布式、可靠、高可用的海量日誌採集、聚合和傳輸的系統。支援在日誌系統中定製各類資料傳送方,用於收集資料;提供對資料進行簡單處理,並寫到各種資料接受方(hdfs\hbase)的能力。
kafka:是乙個分布式、支援分割槽的、多副本的,基於zookeeper協調的分布式訊息系統。
flink:乙個流式的資料流執行引擎。針對資料流的分布式計算提供了資料分布、資料通訊以及容錯機制等功能。
kylin:是乙個開源的分布式分析引擎,提供hadoop/spark之上的sql查詢介面及多維分析(olap)能力一直吃超大規模資料。能在亞秒內查詢巨大的hive表。
es:elasticssearch,是乙個高擴充套件、開源的全文檢索和分析引擎,可准實時地快速儲存、搜尋、分析海量的資料。
hadoop:是乙個分布式系統基礎架構,可使使用者在不了解分布式底層細節的情況下開發分布式程式,充分利用集群的威力進行高速運算和儲存。兩大核心:hdfs\mapreduce
hdfs:是可擴充套件、容錯、高效能的分布式檔案系統,非同步複製,一次寫入多次讀取,主要負責儲存。
mapreduce:分布式計算框架。
spark:是乙個專為大規模資料處理而設計的快速通用的計算引擎。
參考博文
詳解大資料資料倉儲分層架構
大資料資料倉儲是基於hive構建的資料倉儲,分布檔案系統為hdfs,資源管理為yarn,計算引擎主要包括mapreduce tez spark等,分層架構如下 2 事實表是資料倉儲結構中的 表,它包含聯絡事實與維度表的數字度量值和鍵。事實資料表包含描述業務 例如產品銷售 內特定事件的資料。3 維度表...
詳解大資料資料倉儲分層架構
大資料資料倉儲是基於hive構建的資料倉儲,分布檔案系統為hdfs,資源管理為yarn,計算引擎主要包括mapreduce tez spark等,分層架構如下 1 資料 層 日誌或者關係型資料庫,並通過flume sqoop kettle等etl工具匯入到hdfs,並對映到hive的資料倉儲表中。2...
大資料平台資料倉儲分層
1 緩衝資料層bdm 源業務系統資料的快照,儲存細節資料,按天儲存。2 基礎資料層fdm 按業務概念組織細節資料。3 通用資料層gdm 根據京東核心業務價值鏈按照星型模型或雪花模型設計方式建設的最細業務粒度彙總層。在本層需要進行指標與維度的標準化,保證指標資料的唯一性。4 資料層adm 根據不同的業...