Hive開發要知道資料倉儲的四個層次設計

2021-09-25 09:27:23 字數 1313 閱讀 3967

資料倉儲:資料倉儲全面接收源系統資料,etl程序對資料進行規範化、驗證、清洗,並最終裝載進入資料集市,通過資料集市支援系統進行資料查詢、分析,整個資料倉儲包含四大層次。

etl(extractiontransformation loading)負責將分散的、異構資料來源中的資料抽取到臨時中間層後進行清洗、轉換、整合,最後載入到資料倉儲或資料集市中。etl 是實施資料倉儲的核心和靈魂,etl規則的設計和實施約佔整個資料倉儲搭建工作量的 60%~80%.

1.資料抽取(extraction)包括初始化資料裝載和資料重新整理:初始化資料裝載主要關注的是如何建立維表、事實表,並把相應的資料放到這些資料表中;而資料重新整理關注的是當源資料發生變化時如何對資料倉儲中的相應資料進行追加和更新等維護(比如可以建立定時任務,或者觸發器的形式進行資料的定時重新整理)。

2. 資料清洗主要是針對源資料庫**現的二義性、重複、不完整、違反業務或邏輯規則等問題的資料進行統一的處理。即清洗掉不符合業務或者沒用的的資料。比如通過編寫hive或者mr清洗欄位中長度不符合要求的資料。

3.資料轉換(transformation)主要是為了將資料清洗後的資料轉換成資料倉儲所需要的資料:**於不同源系統的同一資料字段的資料字典或者資料格式可能不一樣(比如a表中叫id,b表中叫ids),在資料倉儲中需要給它們提供統一的資料字典和格式,對資料內容進行歸一化;另一方面,資料倉儲所需要的某些欄位的內容可能是源系統所不具備的,而是需要根據源系統中多個欄位的內容共同確定。

4. 資料載入(loading)是將最後上面處理完的資料匯入到對應的儲存空間裡(mysql等)以方便給資料集市提供,進而視覺化。

一般大公司為了資料安全和操作方便,都是自己封裝的資料平台和任務排程平台,底層封裝了大資料集群比如hadoop集群,spark集群,sqoop,hive,zookeepr,hbase等只提供web介面,並且對於不同員工加以不同許可權,然後對集群進行不同的操作和呼叫。以資料倉儲為例,將資料倉儲分為邏輯上的幾個層次。這樣對於不同層次的資料操作,建立不同層次的任務,可以放到不同層次的任務流中進行執行(大公司乙個集群通常每天的定時任務有幾千個等待執行,甚至上萬個,所以劃分不同層次的任務流,不同層次的任務放到對應的任務流中進行執行,會更加方便管理和維護)。

Hive 資料倉儲

hive命令列模式 1 進入bin 執行.hiv 2 配置hive環境變數,直接執行命令 hive service cli 或 hive hive的web模式 執行hive service hwi 啟動後訪問http master 9999 hwi hive的遠端服務 預設埠 10000,執行啟動命...

資料倉儲Hive

資料倉儲是乙個面向主題的 整合的 相對穩定的 反映歷史變化的資料集合,用於支援管理決策。根本目的是為了支援企業內部的商業分析和決策,基於資料倉儲的分析結果,做出相關的經營決策.資料倉儲中的資料比較穩定,保留了大量歷史資料 而資料庫只儲存某一時刻的資料.對於傳統資料倉儲來說,既是資料儲存產品也是分析產...

資料倉儲Hive

乙個公司裡面不同專案可能用到不同的資料來源,有的存在mysql裡面,又的存在mongodb裡面,甚至還有些要做第三方資料。但是現在又想把資料整合起來,進行資料分析。此時資料倉儲 data warehouse,dw 就派上用場了。它可以對多種業務資料進行篩選和整合,可以用於資料分析 資料探勘 資料包表...