日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hive学习笔记 —— Hive概述

發布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive学习笔记 —— Hive概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 數據倉庫簡介

1.1 數據倉庫

可以利用數據倉庫來保存我們的數據,但是數據倉庫有別于我們常見的一般數據庫。數據倉庫是一個面向主題的、集成的、不可更新的、隨時間不變化的數據集成,它用于支持企業或組織的決策分析處理。

面向對象的:倉庫中的數據是按照一定的主題進行組織的。

主題即用戶使用數據倉庫進行決策時所關心的重點方面。如商品的推薦系統,它也是基于數據倉庫所做出來的系統,其中,我們關心的主題也就是我們商品的信息。

集成的:數據倉庫中的數據來自于分散的、操作型的數據,將分散型的操作數據從原來的數據中抽取出來進行加工和處理,然后將滿足要求的數據存入數據倉庫中。

原來的數據有可能來自Oracle,也有可能來自Mysql,DB2,Redis,MongoDb等數據庫,也有可能來自文本文件和其他的操作系統,因此,需要把不同的數據集成起來就組成了數據倉庫。

不可更新的:數據倉庫主要是為了決策分析,所提供數據,所以主要涉及的操作是數據查詢,因此其中的數據是不可更新的。
隨時間不變化的:一般都不會在數據倉庫中做更新和刪除操作,因為數據倉庫就是做查詢操作,因此數據倉庫中的數據是隨著時間的推移而不產生。

1.2 數據倉庫的結構和建立過程

(1)數據源

  • 業務系統的數據:Oracle、Mysql等關系型數據庫,Redis、MongoDB等非關系型數據庫

  • 文檔資料:CSV、TXT

  • 其他數據:其他系統的數據

(2)數據存儲及管理

進行ETL,并單獨存放在一個數據庫中,這個數據庫就叫做數據倉庫。

抽取(Extract):把數據源的數據按照一定的方式讀取出來,然后進行格式轉換

轉換(Transform):將抽取出來的數據按照一定的格式進行轉換,然后進行裝載。

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

裝載(Load):將滿足格式的數據存入數據庫中,最終,便建立了數據倉庫

(3)數據倉庫引擎

通過數據倉庫引擎,使數據倉庫對外提供服務,不同的服務器提供不同的服務,如數據操作、數據報表、數據分析、各類應用

(4)前端展示

進行前端展示,前端展示的數據均來源于數據倉庫引擎中的各個對外服務,而各個服務又讀取數據倉庫中的數據,這樣就完成了整個數據倉庫的建立。

1.3 OLTP應用與OLAP應用

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

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

典型的OLTP應用就是“銀行轉賬”

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

OLAP(On-Line Analytical Processing):聯機分析處理

典型的OLAP應用:商品推薦系統

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

1.4 數據倉庫中的數據模型

我們在搭建一個數據倉庫的時候通常會使用以下兩種模式:

  • 第一種星型模型,星型模型是搭建數據倉庫最基本的一種數據模型。
  • 第二種雪花模式,是在星型模型的基礎之上發展起來的一種新的模型,雪花模型使用于更復雜的應用場景。
  • 第一種:星型模型

    由商品信息可以與客戶信息、訂單信息、廠家信息、物流信息、促銷信息產生關聯(以商品信息為主題)

    是以面向商品信息為核心的星型模型。

    第二種:雪花模型

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

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

    由廠家信息可以與地址信息、員工信息產生關聯(面向廠家信息)

    2. 什么是Hive

    Hive也是一種數據倉庫,但與傳統的數據倉庫又有些 區別

    • Hive是建立在Hadoop HDFS上的數據倉庫基礎架構

    一般的傳統數據倉庫可以用Oracle、Mysql進行搭建,這時的數據庫是存在Oracle、Mysql數據中,而Hive中的數據是存儲在HDFS上的,這就Hive最基本的概念。

    • Hive可以用來進行數據提取轉化加載(ETL)
    • Hive定義了簡單的類似SQL的查詢語句,稱為HQL,它允許熟悉SQL的用戶查詢數據
    • Hive允許熟悉MapReduce開發者的開發自定義的mapper和reducer來處理內建的mapper和reducer無法完成的復雜的分析工作
    • Hive是SQL解析引擎,他將SQL語句轉換成M/R Job,然后在Hadoop中執行
    • Hive的表其實就是HDFS的目錄/文件夾;Hive中的數據其實就是HDFS中的文件

    總結

    以上是生活随笔為你收集整理的Hive学习笔记 —— Hive概述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。