Hive學習筆記 Hive概述

2021-09-29 03:04:45 字數 2434 閱讀 7060

1.1 資料倉儲

可以利用資料倉儲來儲存我們的資料,但是資料倉儲有別於我們常見的一般資料庫。資料倉儲是乙個面向主題的、整合的、不可更新的、隨時間不變化的資料整合,它用於支援企業或組織的決策分析處理。

物件導向的:倉庫中的資料是按照一定的主題進行組織的。

主題即使用者使用資料倉儲進行決策時所關心的重點方面。如商品的推薦系統,它也是基於資料倉儲所做出來的系統,其中,我們關心的主題也就是我們商品的資訊。

整合的:資料倉儲中的資料來自於分散的、操作型的資料,將分散型的運算元據從原來的資料中抽取出來進行加工和處理,然後將滿足要求的資料存入資料倉儲中。

原來的資料有可能來自oracle,也有可能來自mysql,db2,redis,mongodb等資料庫,也有可能來自文字檔案和其他的作業系統,因此,需要把不同的資料整合起來就組成了資料倉儲。

不可更新的:資料倉儲主要是為了決策分析,所提供資料,所以主要涉及的操作是資料查詢,因此其中的資料是不可更新的。

隨時間不變化的:一般都不會在資料倉儲中做更新和刪除操作,因為資料倉儲就是做查詢操作,因此資料倉儲中的資料是隨著時間的推移而不產生。

1.2 資料倉儲的結構和建立過程

(1)資料來源

(2)資料儲存及管理

進行etl,並單獨存放在乙個資料庫中,這個資料庫就叫做資料倉儲。

抽取(extract):把資料來源的資料按照一定的方式讀取出來,然後進行格式轉換

轉換(transform):將抽取出來的資料按照一定的格式進行轉換,然後進行裝載。

因為不同資料來源的資料格式不同,可能不能滿足我們對儲存格式的要求,因此,我們需要按照一定的規則對讀取到的資料進行轉換,只有轉換完符合要求的資料才能進行裝載。

裝載(load):將滿足格式的資料存入資料庫中,最終,便建立了資料倉儲

(3)資料倉儲引擎

通過資料倉儲引擎,使資料倉儲對外提供服務,不同的伺服器提供不同的服務,如資料操作、資料包表、資料分析、各類應用

(4)前端展示

進行前端展示,前端展示的資料均**於資料倉儲引擎中的各個對外服務,而各個服務又讀取資料倉庫中的資料,這樣就完成了整個資料倉儲的建立。

1.3 oltp應用與olap應用

oltp(on-line-transaction processing):聯機事務處理

所關注的焦點在於事務的處理

典型的oltp應用就是「銀行轉賬」

比如,當我們轉賬的操作,分別為扣錢和加錢的操作,這兩個操作應該同時成功或者同時失敗,如果有一方失敗需要有事務的保證,需要回滾,oltp的系統面向的是事務,操作的頻率會非常高,比如銀行轉賬的業務時刻都會發生其中一方失敗的情況。

olap(on-line analytical processing):聯機分析處理

商品推薦系統這種應用是基於原來它的歷史資料,從而進行資料的分析和挖掘,然後提供給別的系統所使用,這種olap的應用主要面向的是查詢,在這種應用系統當中我們一般不會做更新、刪除或者插入的操作,因為裡面的資料都是屬於歷史的資料。

1.4 資料倉儲中的資料模型

我們在搭建乙個資料倉儲的時候通常會使用以下兩種模式:

第一種星型模型,星型模型是搭建資料倉儲最基本的一種資料模型。

第二種雪花模式,是在星型模型的基礎之上發展起來的一種新的模型,雪花模型使用於更複雜的應用場景。

第一種:星型模型

由商品資訊可以與客戶資訊、訂單資訊、廠家資訊、物流資訊、**資訊產生關聯(以商品資訊為主題)

是以面向商品資訊為核心的星型模型。

第二種:雪花模型

基於星型模型發展起來的雪花模型

由客戶資訊可以與家庭資訊、位址資訊、教育背景資訊、銀行資訊產生關聯(面向客戶資訊)

由廠家資訊可以與位址資訊、員工資訊產生關聯(面向廠家資訊)

hive也是一種資料倉儲,但與傳統的資料倉儲又有些區別

一般的傳統資料倉儲可以用oracle、mysql進行搭建,這時的資料庫是存在oracle、mysql資料中,而hive中的資料是儲存在hdfs上的,這就hive最基本的概念。

Hive概述 學習筆記

資料倉儲 資料倉儲 data warehouse 是乙個面向主題的 subject oriented 整合的 integrated 相對穩定的 non volatile 反映歷史變化 time variant 的資料集合,用於支援管理決策。水平 橫向擴充套件 增加節點 垂直 縱向擴充套件 增加節點能...

Hive學習筆記 Hive 引數

第一部分 hive 引數 hive.exec.max.created.files 說明 所有hive執行的map與reduce任務可以產生的檔案的和 預設值 100000 hive.exec.dynamic.partition 說明 是否為自動分割槽 預設值 false hive.mapred.re...

hive概述,hive是什麼

hive是基於hadoop的資料倉儲解決方案。由於hadoop本身在資料儲存和計算方面有很好的可擴充套件性和高容錯性,因此使用hive構建的資料倉儲也秉承了這些特性。這是來自官方的解釋。簡單來說,hive就是在hadoop上架了一層sql介面,可以將sql翻譯成mapreduce去hadoop上執行...