Hive 1 數倉和Hive基本概念

2021-10-07 07:33:25 字數 2127 閱讀 3659

資料倉儲的分層架構

資料倉儲分層的目的

數倉的三層架構

數倉的四層架構

etlhive概念

hive的互動方式

非易失性:資料進入數倉後,基本不會被修改

時變性:分析資料的手段(工具)可能會變

數倉的出現並不是要取代資料庫,數倉是在資料庫已經大量存在的情況下,為了進一步挖掘資料來決策而產生的,數倉絕不是「大型資料庫」數倉和資料庫的區別實際上是olapoltp的區別

數倉的四層架構是對三層架構中的dw層進行了細分

etl(抽取extra,轉化transfer,裝載load)是數倉的流水線,它維持著數倉的更新。

數倉從各個資料來源獲取資料、數倉內的資料轉換和流動都可以認為是etl.

hive的底層執行引擎有3種

缺點

元資料:metastore

hadoop

driver

編譯器(physical plan)

優化器(query optimizer)

執行器(execution)

使用者建立表時,建立hdfs和元資料庫metastore的對映

使用者執行select sql時通過解析器將sql語句轉化成抽象語法樹ast

解析器從metastore中拿到表資料資訊

經過編譯和優化後將轉化成可以執行的物理任務,如mr

提交給yarn集群執行

型別名稱

描述舉例

boolean

true/false

true

tinyint

1位元組的有符號整數

1smallint

2位元組的有符號整數

1int

4位元組的有符號整數

1bigint

8位元組的有符號整數

1float

4位元組單精度浮點數

1.0double

8位元組單精度浮點數

1.0string

字串(不設長度)

「abc」

varchar

字串(1-65355長度,超長截斷)

「abc」

timestamp

時間戳1563157873

date

日期20190715

型別名稱

描述舉例

array

一組有序的字段,字段型別必須相同 array(元素1,元素2)

array(1,2,3)

map一組無序的鍵值對 map(k1,v1,k2,v2)

map(『a』,1,『b』,2)

struct

一組命名的字段,字段型別可以不同 struct(元素1,元素2)

struct(『a』,1,2,0)

map型別欄位的元素訪問方式

struct型別欄位的元素訪問方式

create

table complex(

col1 array<

int>

, col2 map

int>

, col3 struct

,c:double

>

)

hive jdbc服務,需要乙個對hdfs有操作許可權的使用者。用的比較多

(beeline支援兩種模式,內嵌和遠端。)

hive的命令,數倉搭建好後

使用-f引數執行包含hql語句的檔案

HIVE 1 基礎操作。

建立新錶 hive create table t hive a int,b int,c int row format delimited fields terminated by t 匯入資料t hive.txt到t hive表 hive load data local inpath home co...

數倉工具 Hive初識 1

那麼,到底什麼是hive,我們先看看hive官網wiki是如何介紹hive的 apache hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張表,並且提供了通過sql 對儲存在分布式中的大型資料集的查詢和管理,主要提供以下功能 它提供了一系列的通過sql 訪問資料的工具,...

Hive 1 資料倉儲

資料倉儲 data warehouse dw dwh 資料倉儲的目的 構建面向分析的整合化資料環境。名字叫做data warehourse 資料倉儲 倉庫 主要用於儲存東西的,不會生產東西,也不會消耗東西 資料倉儲 不會產生任何的資料,也不會消耗任何的資料,只是用於儲存這些資料 主要用於分析性報告和...